我有一个类,并在标题中定义了以下内容:

@interface MyViewController : UIViewController {
    BOOL blackBackground;
}
@property(nonatomic, assign) BOOL blackBackground;


在实现中,我为blackBackground提供了@synthesize。

然后,我实例化该对象并执行:

[myViewController setBlackBackground:YES];


现在该布尔值应为YES(或true;))。但是然后,我检查:

if ([myViewController blackBackground]) {
  NSLog(@"yep, it's true");
}


但是,它似乎没有响应或返回任何东西,或者该值未设置,或者我无法调用/检查它。知道那里怎么了吗?

最佳答案

您确定您确实在使用上述代码吗?它存在语法错误,无法编译,因此完全有可能因为正在运行旧代码副本而看不到该代码已执行。

您无法声明标量属性具有任何类型的保留,分配,复制语义的问题,这将导致编译错误。您应该更改:

@property(nonatomic, assign) BOOL blackBackground;




@property(nonatomic) BOOL blackBackground;

关于iphone - 如何访问BOOL类型的属性?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1153026/

10-09 09:15