有没有办法使用类似的东西
if (carRecord.status == CarRecord.statusRepaired) { // using a class constant
// ...
}
例如在汽车修理店,carRecord
对象的状态status
会根据CarRecord
类的常量进行检查。在Objective-C中,有没有这样的方法?
有没有办法使用类似的东西
if (carRecord.status == CarRecord.statusRepaired) { // using a class constant
// ...
}
例如在汽车修理店,carRecord
对象的状态status
会根据CarRecord
类的常量进行检查。在Objective-C中,有没有这样的方法?
您通常会使用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
以下是您如何在 .h 文件中定义它:
typedef enum CarRecordStatus {
CarRecordStatusBroken = 0,
CarRecordStatusRepaired,
} CarRecordStatus;
@interface MyClassName : NSObject
..interfacebody..
@end
在 MyClassName 中使用它或任何其他只需导入它就可以了。