我正在尝试创建一个Swift框架,可供其他使用Swift或Objective C的iOS 8应用程序使用。
在我的一些公共函数中,我需要使用枚举。当然,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 应用程序中使用?