我正在从Java跳到Objective-C。我想知道是否有一个类似于Java的枚举的概念,它支持方法的实现。我意识到Objective-C有简单的旧C枚举,但这些只是整数。
我希望防止切换码 - Java枚举将是完美的。
答案 0 :(得分:6)
Objective-C只是C,对象有一些额外的标记,没有添加任何新类型。
这意味着,没有。
对于互斥标志,Apple使用字符串。
header.h
extern NSString * const kNSSomeFlag;
extern NSString * const kNSOtherFlag;
extern NSString * const kNSThirdFlag ;
code.m
NSString * const kNSSomeFlag = @"kNSSomeFlag";
NSString * const kNSOtherFlag = @"kNSOtherFlag";
NSString * const kNSThirdFlag = @"kNSThirdFlag";
…
void myFunction(NSString *flag)
{
if (flag == kNSSomeFlag) {
// the code
}
}
可以在NSDistributedNotificationCenter
中找到此示例。