我试图在Xcode上的Objective-C中打印出枚举常量。
代码:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
enum boolean{
no, yes
};
NSLog(@"%d", yes);
}
return 0;
}
我运行了这段代码,所有控制台都显示我是&#34;(lldb)&#34;。
这是我错误的语法吗?
或者我在这里遗漏了什么?
另外,我使用typedef尝试了不同的方法:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
typedef enum {
no, yes
} boolean;
boolean boolVal = yes;
NSLog(@"%d", boolVal);
}
return 0;
}
我怀疑使用NSLog()打印出值时出了问题。
但我尝试过使用%i,%@,%d。但输出相同,(lldb)。
有没有不同的方法来打印枚举值?
答案 0 :(得分:1)
您必须为enum
值的成员提供要打印的成员。请尝试以下方法。
enum boolean {
no = 0,
yes = 1
};
NSLog(@"yes = %d",yes);
前面的代码输出以下内容。
yes = 1