Форвард объявить класс Swift, чтобы использовать его в заголовке Objective-C

Я пытаюсь импортировать класс Swift в заголовочный файл Objective-C. я знаю это Project-Swift.h Мост может быть импортирован только в файлы реализации (.m), но у меня есть заголовок Objective-C, который должен объявить свойство, определенное в Swift.

Я где-то читал, что это можно сделать, предварительно объявив класс в заголовочном файле и импортировав Project-Swift.h в файл реализации. Когда я делаю это, ошибки устраняются, но я не могу получить доступ к свойствам класса.

Пример:

// Square.swift

@objc class Square: NSObject {
  var width: Int?
  var height: Int?
}

// Shapes.h

@class Square;

@interface Shapes: NSObject {
  @property(nonatomic, strong) Square *square;
}

// Shapes.m

#import "Shapes.h"
#import "Product-Swift.h"

@implementation Shape

@end

// Somewhere else in the code

Shapes *shapes = [Shapes new];
NSLog(@"%@", @(shapes.square.width)); <-- Property 'width' not found on object of type 'Square *'

Кто-нибудь может дать совет, как получить доступ к классу Swift и его свойствам?

0 ответов

Другие вопросы по тегам