簡體   English   中英

如何在Objective-C中執行類常量?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM