【发布时间】:2017-02-24 23:35:12
【问题描述】:
我有一个 Swift enum 定义如下:
@objc enum SomeEnum: Int {
case one, two
}
我可以在 Objetive-C 文件中正常使用SomeEnum,但是当我想在这样的头文件中声明属性时:
@property (nonatomic, assign) SomeEnum someEnum;
编译器给出错误消息Unknown type name 'SomeEnum'。有趣的是我可以在类的私有接口中创建一个属性。我也尝试清理构建文件夹,但没有帮助。文件<module>-Swift.h 已导入.pch 文件。你知道问题的根源是什么吗?
【问题讨论】:
-
包括你的错误?
-
确切的错误信息是什么?你导入“YourProject-Swift.h”了吗?
-
更新了问题。
-
你有没有类似 error: failed to import bridging header '.../YourProject-Bridging-Header.h' 之类的错误当你发现 Unknown type name 'SomeEnum'?
-
一般来说,你不应该把一些动态生成的头文件放到 .pch 中。在您的情况下,YourProject-Bridging-Header.h 和您的 Objective-C 类的 .h 文件相互依赖,无法导入。最好和最稳定的解决方案是在 Objective-C 端定义你的枚举。
标签: ios objective-c swift enums