Objective-C:打印枚举值

时间:2014-06-11 02:28:16

标签: objective-c enums

我试图在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)。

有没有不同的方法来打印枚举值?

1 个答案:

答案 0 :(得分:1)

您必须为enum值的成员提供要打印的成员。请尝试以下方法。

enum boolean {
    no  = 0,
    yes = 1
};

NSLog(@"yes = %d",yes);

前面的代码输出以下内容。

yes = 1

enter image description here enter image description here