我试图在 Xcode 上打印 Objective-C 中的枚举常量。
代码:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
enum boolean{
no, yes
};
NSLog(@"%d", yes);
}
return 0;
}
我运行了这段代码,控制台显示的所有内容都是“(lldb)”。
是我语法错误吗?
或者我在这里遗漏了什么?
此外,我使用 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)。
是否有不同的方法来打印枚举值?
最佳答案
如果您想要打印它们,您必须给出enum
值的成员。请尝试以下操作。
enum boolean {
no = 0,
yes = 1
};
NSLog(@"yes = %d",yes);
前面的代码输出以下内容。
yes = 1
关于Objective-C:打印枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24153732/