Форвард объявить класс 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 и его свойствам?