のようなものを使用する方法はありますか
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 内で使用するか、それをインポートするだけです。