のようなものを使用する方法はありますか
if (carRecord.status == CarRecord.statusRepaired) { // using a class constant
// ...
}
自動車修理工場などでは、carRecordオブジェクトの状態がクラスの定数statusと照合されます。CarRecordObjective-Cでは、そのような方法はありますか?
のようなものを使用する方法はありますか
if (carRecord.status == CarRecord.statusRepaired) { // using a class constant
// ...
}
自動車修理工場などでは、carRecordオブジェクトの状態がクラスの定数statusと照合されます。CarRecordObjective-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 内で使用するか、それをインポートするだけです。