我有这个代码:

BOOL booleanValue = TRUE;
[arrayZone replaceObjectAtIndex:indexZone withObject:booleanValue];

这段代码给了我一个警告说:

不兼容的整数到指针转换:
将 BOOL 发送到“id”类型的参数

为什么?

最佳答案

您需要使用 BOOLNSNUmber 装箱,如下所示:

BOOL booleanValue = TRUE;
[arrayZone replaceObjectAtIndex:indexZone withObject:[NSNumber numberWithBool:booleanValue]];

然后,要检索您的 BOOL 值,您可以使用 boolValue 将其拆箱:
BOOL b = [[arrayZone objectAtIndex:index] boolValue];

关于objective-c - 当我用 BOOL 填充数组时发出警告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5792078/

10-10 16:52