具有自定义选项/值的NSObject变量

时间:2012-11-20 22:52:47

标签: objective-c xcode variables nsobject

我不知道是否可以在目标c中使用某些预定义值声明变量。

例如,我希望我的对象“位置”有一个名为类型的变量,其可能的值为:“street”“city”“country”

我们的想法是通过以下方式访问它:

Location *myLoction = [[Location alloc] init]
myLocation.type = city;

后来做了类似的事情:

if(myLocation.type == street) {
    //Do something here
}

这可能吗?

1 个答案:

答案 0 :(得分:4)

您正在寻找枚举:

typedef NS_ENUM(NSInteger, LocationType) {
    LocationTypeStreet,
    LocationTypeCity,
    LocationTypeCountry
};

@interface Location : NSObject 

@property (nonatomic) LocationType type;

@end

您必须为值添加前缀,因为您没有名称空间。

if(myLocation.type == LocationTypeStreet) {
}