有没有办法使用像
这样的东西if (carRecord.status == CarRecord.statusRepaired) { // using a class constant
// ...
}
例如在汽车维修店中,carRecord
对象的状态status
将根据CarRecord
类的常量进行检查。在Objective-C中,有这样的方法吗?
答案 0 :(得分:7)
您通常会使用enum
执行此操作。例如:
//=== CarRecord.h:
typedef enum CarRecordStatus {
CarRecordStatusBroken = 0,
CarRecordStatusRepaired
} CarRecordStatus;
@interface CarRecord (NSObject) {
CarRecordStatus _status;
}
@property (nonatomic, assign) CarRecordStatus status;
@end
//=== CarRecord.m:
@implementation CarRecord
@synthesize status=_status;
- (void)someMethod {
if (self.status == CarRecordStatusRepaired) {
//...
}
}
@end
答案 1 :(得分:6)
以下是如何在.h文件中定义它:
typedef enum CarRecordStatus {
CarRecordStatusBroken = 0,
CarRecordStatusRepaired,
} CarRecordStatus;
@interface MyClassName : NSObject
..interfacebody..
@end
在MyClassName或其他任何内容中使用它只是导入它就是它。