为什么我们在iOS中使用枚举?
为什么我们在iOS中使用枚举?
这个问题在这里已经有了答案:
我不认为我根本明白什么是枚举,以及何时使用它。
typedef enum { kPersonTypeFaculty, kPersonTypeStaff, kPersonTypeSearch }
所以请给出关于为什么使用枚举以及如何使用枚举的想法。
admin 更改状态以发布 2023年5月22日
枚举并非完全必要,但它们可以使代码更易于阅读和理解。例如,考虑以下代码片段:
switch(type){ case 0: //do something break; case 1: //do something else break; case 2: //do something else break; default: //do the general case break; }
仅凭这段代码片段是无法确定每个 case 语句负责处理什么的。
如果我们使用枚举,它会看起来像这样,如果我们遗漏了默认语句并错过了一个 case 语句,编译器也会为我们提供帮助:
switch(type){ case kPersonTypeFaculty: break; case kPersonTypeStaff: break; case kPersonTypeSearch: break; default: break; }
如果你更为严格地声明你的枚举:
typedef enum CardState : NSUInteger { CardStateActivated = 0, CardStateArchived = 1, CardStateDepleted = 2, CardStateUnauthorized = 3 } CardState;
现在,你可以将枚举类型用作方法的参数,例如:
- (void) reloadCardWithState:(CardState) state;
这显然也可以使用 NSInteger
或 int
实现,但使用枚举使代码更易于阅读,帮助你更轻松地解决错误。它还使在像 XCode 这样的编辑器中编写代码更容易,因为你将知道方法需要一个 CardState,然后你可以去查看你想要使用或正在使用的状态。