2011-07-28 149 views
1

我是Objective-C的一名完整新手。我有一個枚舉如下:Objective C - 枚舉的Getter和setter屬性

typedef enum _XLBadgeManagedType { 
    XLInboxManagedMethod = 0, 
    XLDeveloperManagedMethod = 1 
} XLBadgeManagedType ; 

我想爲它getter和setter方法,這樣如果發生什麼事,我設置XLInboxManagedMethod 1。我怎麼會去這樣做呢?

+2

你困惑什麼的'enum'或'枚舉'是。這是一個靜態的,不變的值列表。如果你想設置一個屬性,使用一個屬性。 –

回答

12

你的代碼只是定義一個枚舉類型。這是一個靜態的編譯時常量,沒有改變。您可以通過聲明一個實例來使用枚舉,然後將其更改爲您定義的某個常量值。如果您枚舉的樣子:

typedef enum _XLBadgeManagedType { 
    XLInboxManagedMethod = 0, 
    XLDeveloperManagedMethod = 1 
} XLBadgeManagedType; 

然後你的財產可能看起來像:

@property (nonatomic, assign) XLBadgeManagedType myEnum; 

而且其採用可能看起來像:

- (void)someMethod { 

    self.myEnum = XLInboxManagedMethod; 
    self.myEnum = XLDeveloperManagedMethod; 
    // etc... 
} 
2

您不改變枚舉的值。他們保持原樣。

0

它們是符號常數。你不能改變它。