[英]How to do class constants in 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或其他僅導入它的內部使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.