Objective-C - 如何使用NSInteger初始化枚举?

时间:2018-05-08 18:13:55

标签: objective-c

我正在处理一个应用程序,当我尝试使用NSCoding编码具有枚举属性的模型时,我的问题就开始了。所以我有想法将它转换为rawValue和返回的方式。我环顾了一下并绕过了宏NS_ENUM,所以我的代码看起来像这样:

typedef NS_ENUM(NSInteger, SectionType) {
    SectionTypeText = 0,
    SectionTypeVideo = 1,
    SectionTypeLink = 2,
    SectionTypeFile = 3,
    SectionTypeQuiz = 4,
    SectionTypeAudio = 5,
    SectionTypeGame = 6,
    SectionTypeHomework = 7
};

但是我找不到将这些转换为相关值和返回方式的可行方法。我怎么能这样做?有比NS_ENUM宏更好的方法吗?

1 个答案:

答案 0 :(得分:2)

我的Objective-C有点生疏,但我想我会把它投出来:

   SectionType type = (SectionType) 2;

返回的工作方式相同:

   int typeNumber = type;