据我所知,当我们声明枚举如下所示时,值默认为" int"
enum{
category0,
category1
};
但是,我现在遇到的问题是iOS支持64位。我想在我的代码中防止改变的解决方案是使这个枚举值默认为" NSInteger"而不是" int"。根据我的理解,系统将决定NSInteger是int类型还是长类型,具体取决于它是在32位还是64位上运行。 我很难理解枚举,所以我将非常感谢你的帮助。 感谢
如果我按照评论的建议使用typedef:
typedef NS_ENUM(NSInteger, Category){
category0,
category1
}
我应该如何使用它?通常当我将它与例如tableview的indexpath.section进行比较时,我会这样做
if(indexpath.section == category0){
...
}
如果我宣布"类别",我是否需要使用它?对不起,我不太了解typedef。
答案 0 :(得分:1)
尝试
typedef enum{
category0,
category1
} Category;
或
typedef NS_ENUM(NSInteger, Category) {
category0,
category1
};
您还可以明确地将整数设置为您的枚举值
typedef NS_ENUM(NSInteger, Category) {
category0 = 0,
category1 = 1,
category42 = 42
};
然后你可以像int
一样使用它们if(indexpath.section == category0){
...
}