我创建了一个像这样的枚举
typedef NS_ENUM(NSInteger, PermissionStages) {
thePermissionNotDetermine = 0,
thePermissionDenied = 1,
theReminderPermissionAllowed = 2,
};
并创建一个像这样的变量
PermissionStages PermissionStageVar;
我没有为其分配任何值,但默认情况下,variable
的第一个值为PermissionStages enum
,在这种情况下为thePermissionNotDetermine
为什么会出现这种情况?
答案 0 :(得分:4)
该行:
PermissionStages PermissionStageVar;
的默认值为0
。这类似于以下行:
NSString *foo;
导致foo
的初始值为nil
。或
BOOL aBool;
导致aBool
的初始值为NO
。
变量全部初始化为值“0”。
由于您的枚举恰好具有0
的值,因此您的变量似乎已使用thePermissionNotDetermine
进行初始化。