S.J*_*S.J 2 enums objective-c ios
我创建了一个这样的枚举
typedef NS_ENUM(NSInteger, PermissionStages) {
thePermissionNotDetermine = 0,
thePermissionDenied = 1,
theReminderPermissionAllowed = 2,
};
Run Code Online (Sandbox Code Playgroud)
并创建一个这样的变量
PermissionStages PermissionStageVar;
Run Code Online (Sandbox Code Playgroud)
我没有给它分配任何值,但默认情况下它variable有PermissionStages enum第一个值,在这种情况下它的thePermissionNotDetermine
为什么会出现这种行为?
线路:
PermissionStages PermissionStageVar;
Run Code Online (Sandbox Code Playgroud)
正在获得一个默认值0。这类似于以下行:
NSString *foo;
Run Code Online (Sandbox Code Playgroud)
导致foo初始值为nil。或者
BOOL aBool;
Run Code Online (Sandbox Code Playgroud)
导致aBool初始值为NO。
变量都被初始化为值“0”。
由于您的枚举恰好有一个 with 值0,您的变量似乎是用thePermissionNotDetermine.
| 归档时间: |
|
| 查看次数: |
2827 次 |
| 最近记录: |