2011-02-17 125 views
2

這是我第一次使用typedef枚舉,我需要一些幫助設置它。下面是我的一些代碼:幫助typedef枚舉

typedef enum { 
user, 
vip, 
admin 
} status; 
@property (nonatomic, assign) status status; 

當我把這個

[self setStatus:vip]; 

它工作正常。但是當我再次調用它時,應用程序崩潰時沒有任何東西。我再次呼籲,但有不同的狀態,如

[self setStatus:user]; 

我應該做些什麼來解決我的代碼?在此先感謝

此外,狀態在.m中合成。

+0

你嘗試過將其設置爲「用戶」,然後再以「VIP」?在這種情況下它的行爲是否相同? – 2011-02-17 04:35:26

+0

@Ken Wayne VanderLinde是的,它具有相同的效果 – Preston 2011-02-17 04:40:12

+0

您是否聲明瞭一個支持實例變量?如果你發佈了你的類聲明,這會很有幫助。 – 2011-02-17 04:40:19

回答

5

而不是非原子& assign ...使它成爲readwrite,因爲typedef在技術上由數字表示。

1

試試這個代碼,而不是

typedef enum { 
    user, 
    vip, 
    admin 
} Status 

@implementation thisClass { 
    Status status; 
} 

@property (nonatomic, readwrite) Status status;