foo*_*bar 4 enums objective-c options forward-declaration
如何在Objective-C中转发声明NS_OPTIONS?
NS_ENUMS 的相关 SO 问题:Objective-C 中的前向声明枚举
Apple Dev Forum 上未回答的问题:https : //forums.developer.apple.com/thread/16305
typedef NS_OPTIONS(NSInteger, MSSOption) {
MSSOptionNone = 0,
MSSOptionName = 1 << 0,
MSSOptionEmail = 1 << 1,
MSSOptionTelephone = 1 << 2
};
Run Code Online (Sandbox Code Playgroud)
与 NS_ENUM 严格相同,因此Objective-C中Forward-declare enum的答案都是有效的。
要转发声明您的NS_OPTIONS,您有两种解决方案:
typedef NS_ENUM(NSInteger, MSSOption);
Run Code Online (Sandbox Code Playgroud)
typedef NS_OPTIONS(NSInteger, MSSOption);
Run Code Online (Sandbox Code Playgroud)
两种解决方案都可以正常工作。使用 Xcode 9.3.1 和 Xcode 10.1 进行测试。
在https://github.com/Coeur/StackOverflow50499172 进行演示。
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |