我有下一个enum
:
typedef enum {
SignUp,
LogIn
} TypeAction;
并在界面中的属性之后:
@property (assign, nonatomic) TypeAction * typeAction;
在按钮操作中,我执行:
- (IBAction)SignUp:(id)sender {
self.typeAction = SignUp;
}
所以,在另一个按钮动作中,我尝试比较:
- (IBAction)Check:(id)sender {
if(self.typeAction = SignUp){
//
}
}
但我得到nil in
self.typeAction`
答案 0 :(得分:3)
这应该是:
- (IBAction)Check:(id)sender {
if(self.typeAction == SignUp){
//
}
}
或者,实际上,您可能希望将if
- 语句更改为if(SignUp == self.typeAction)
,因为编译器会捕获==
问题。
您的财产声明应为:
@property (assign, nonatomic) TypeAction typeAction;
assign
不是指针,您在self.typeAction
语句的该行中将SignUp
设置为if
,然后将其视为nil
因为它将self.typeAction
视为指针,这是导致错误的原因。