1

我不知道是否可以在目标 c 中声明一个带有一些预定义值的变量。

例如,我希望我的对象"Location"有一个名为type的变量,其可能值为:"street""city""country"

这个想法是通过以下方式访问它:

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

然后做类似的事情:

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

那可能吗?

4

1 回答 1

4

您正在寻找枚举:

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

@interface Location : NSObject 

@property (nonatomic) LocationType type;

@end

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

if(myLocation.type == LocationTypeStreet) {
}
于 2012-11-20T22:55:00.197 回答