0

我不是 Obj C 专业人士,但我应该在 Objective C 中编写一些代码并将 Swift 代码连接到它。我成功地将生成的标题导入到 .m 文件中:

#import "<my_module>-Swift.h"

但是,当我尝试将相同的标头导入 .h 文件时,它会引发此错误: 在此处输入图像描述

顺便说一句,我只想将一个从 Swift 类实例化到特定 obj c 类的公共变量添加。我试图将这些行放在 .h 和 .m 文件中:

@property (nonatomic, readwrite, strong) Card *card;

我应该怎么办?

4

2 回答 2

1

在您的情况下,由于您需要做的就是声明 type 的属性Card*,因此您实际上不需要导入标头 - 您只需在使用之前前向声明该类即可。@class Card;

于 2016-05-29T05:59:50.703 回答
0

如果要在 Objective-C 标头中引用 Swift 类,则不能#import使用该*-Swift.h文件,而应使用https://developer.apple.com/library/ios/documentation/Swift/Conceptual/中所述的前向声明BuildingCocoaApps/MixandMatch.html,请参阅标题为在 Objective-C 标头中引用 Swift 类或协议的部分。这基本上是@jtbandes 在评论中所建议的。

这里有个问题:你想在 Objective-C 中使用的 Swift 类必须直接或间接地扩展 NSObject 类。

于 2016-05-28T01:48:50.970 回答