【问题标题】:Objective-c enum classObjective-c 枚举类
【发布时间】:2012-08-17 15:38:19
【问题描述】:

我正在尝试在objective-c 中创建一个枚举类。下面是我已经得到的。

#import <Foundation/Foundation.h>

typedef enum  {
    Car,
    Bike,
    Boat
} Vehicle;

@interface ModelVehicle : NSObject {

    Vehicle vehicle;

}

@property (nonatomic) Vehicle vehicle;

@end

现在我可以从另一个类访问枚举,但只能使用以下代码。为什么我不能使用枚举所在的类名访问它,例如 ModelVehicle.Car?

Vehicle *hi = Car;

【问题讨论】:

    标签: objective-c class enums


    【解决方案1】:

    在 Objective-C 中,枚举不是类的一部分,因此您可以直接按名称引用它们。

    【讨论】:

    • Aaa ok,但是可以将它用作课程的一部分吗?还是应该这样?
    • @iMuller:你当然可以在一个类中使用它,但它永远不会被当作类的一部分来引用(就像你在 Java 这样的语言中可能的方式)。
    • 这是一个 C++ 11 的特性,还不能在 Object C 中。
    【解决方案2】:

    这里的枚举位不是目标 c 类的一部分。它只是在与您的目标 c 类相同的标头中声明 c 枚举

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-27
      相关资源
      最近更新 更多