... @interface
BOOL nameIsValid;
@property (nonatomic) BOOL nameIsValid;
... @implementation
@sysnthesize nameIsValid;
-(void)someMethod {
nameIsValid = YES;
}
-(void)anotherMethod {
if(nameIsValid){
...
}
}
为什么我的if语句总是评估为FALSE,即使在调用了someMethod之后?
答案 0 :(得分:2)
改为使用self.propertyName = value
。
原因:使用左侧属性的self
前缀调用其合成的setter方法。
如果您不使用设定器,则BOOL
的默认值将保持NO
(或0
)。