【发布时间】:2014-10-01 17:18:04
【问题描述】:
我正在尝试使用 Swift 或 Objective C 创建一个可供其他 iOS 8 应用使用的 Swift 框架。
在我的一些公共函数中,我需要使用枚举。当然,Swift 有枚举,但是这些与使用 Objective C 的客户端应用程序不兼容。所以我尝试使用如下形式的 Objective C 样式枚举:
typedef NS_ENUM(NSInteger, MyEnumType)
{
MyEnumTypeGreen,
MyEnumTypeBlue,
MyEnumTypeYellow
};
为了公开这个枚举类型,我把这个声明放在了 PublicEnums.h 中。要从我的 Swift 代码中访问,我需要在我的框架项目的 Bridging-Header.h 中使用这一行:
#import "PublicEnums.h"
然后我得到一个错误:
在框架模块“MyFramework”中包含非模块化标头,它在自动生成的 MyFramework-Swift.h 文件中标记一行:
#import "/Users/sourcepath.../ObjectiveC/MyFramework-Bridging-Header.h"
真的没有办法在 Swift 框架中使用任何可以在 Objective C 应用程序中使用的枚举吗?
【问题讨论】: