1

のようなものを使用する方法はありますか

if (carRecord.status == CarRecord.statusRepaired) {  // using a class constant
    // ...
}

自動車修理工場などでは、carRecordオブジェクトの状態がクラスの定数statusと照合されます。CarRecordObjective-Cでは、そのような方法はありますか?

4

2 に答える 2

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
于 2012-04-22T17:56:30.517 に答える
6

.h ファイルで定義する方法は次のとおりです。

typedef enum CarRecordStatus {
    CarRecordStatusBroken = 0,
    CarRecordStatusRepaired,
} CarRecordStatus;

@interface MyClassName : NSObject    
..interfacebody..
@end

MyClassName 内で使用するか、それをインポートするだけです。

于 2012-04-22T19:37:51.760 に答える