Objective-C:打印枚举值

标签 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;

}

我运行了这段代码,控制台显示的所有内容都是“(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

enter image description here enter image description here

关于Objective-C:打印枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24153732/

相关文章:

枚举类型 "The public type EngineType must be defined in its own file Car.java"的 Java 编译错误

iphone - 显示一个 UIActionSheet

ios - 一些 Restkit 方法不可用

objective-c - 通过寻找图像中的相似性将图像拼接在一起?

Java 富枚举类型 : Specifying Constant-Specific Behavior With Function Objects vs. 常量特定方法

enums - 如何获取枚举中元素(变体)的数量作为常量值?

ios - 我们应该从 self 调用类别方法吗

ios - 用动画编辑后重新加载tableView?

c++ - 我可以使用通用枚举类型作为函数的参数吗?

sorting - IntelliJ排序枚举成员