2011-02-17 81 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;