Newb ObjC问题re:类上的BOOL属性

时间:2010-06-21 22:09:58

标签: iphone objective-c

... @interface

BOOL nameIsValid;

@property (nonatomic) BOOL nameIsValid;

... @implementation

@sysnthesize nameIsValid;

-(void)someMethod {
    nameIsValid = YES;
}

-(void)anotherMethod {
    if(nameIsValid){
       ...
    }
}

为什么我的if语句总是评估为FALSE,即使在调用了someMethod之后?

1 个答案:

答案 0 :(得分:2)

改为使用self.propertyName = value

原因:使用左侧属性的self前缀调用其合成的setter方法。

如果您不使用设定器,则BOOL的默认值将保持NO(或0)。