在objective-c中使用BOOL变量时发出警告



我试图将我的BOOL变量初始化为YES,但它给了我这个警告。不知道该怎么办……它似乎仍然工作良好,但只是想知道我如何才能摆脱警告。

我在header中初始化了变量,像这样

//. h

BOOL *removeActivityIndicator;
//..
@property (nonatomic, assign) BOOL *removeActivityIndicator;

然后我尝试将其设置为YES,就像这样(这也是我得到警告的地方)

self.removeActivityIndicator = YES;

提示:

不兼容的整数到指针转换传递'BOOL'(也称为'signed char')到'BOOL *'类型的参数(也称为'signed char *')

警告是正确的;您已经将变量声明为BOOL *(指向BOOL的指针),这几乎肯定不是您想要的。从声明中删除*

removeActivityIndicator是一个char 指针,你给它分配一个char,所以要么:

  1. 将其改为BOOL removeActivityIndicator;
  2. 解除引用:*(self.removeActivityIndicator) = YES;

您已经创建了一个指向BOOL的指针,这是一个基本类型。去掉remoteActivityIndicator前面多余的*

最新更新