分配给' BOOL的不兼容的整数到指针转换

时间:2015-05-22 00:35:40

标签: xcode boolean

我只是固有一个来自前一个程序员的新应用程序,并继续遇到"不兼容的整数到指针转换分配给' BOOL *' (又名' bool *')来自' BOOL' (又名' bool')"

代码如

_backButtonPressed = YES;

_isEdited = YES;

得出同样的错误。我试过*(_ backButtonPressed)= YES;和 * _backButtonPressed =是,但两种情况都会导致程序崩溃。

如果我不管它,程序仍然有用,但我想保持代码干净。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

我猜是有问题的两个变量被宣布错误。例如,_backButtonPressed可能声明为

BOOL* _backButtonPressed;

但应该是

BOOL _backButtonPressed;

发生崩溃是因为_backButtonPress不是指针:如果是,则会有类似的语句 _backButtonPressed =(BOOL *)malloc(sizeof(BOOL)); 某处。如果在尝试分配之前未执行此操作 *(_ backButtonPressed),然后你会看到崩溃。

很容易犯下声明BOOL *而不是BOOL的错误,因为Cocoa对象总是用*

声明

我建议您修复声明。我很确定如果你这样做,一切都会奏效。