ico*_*ter 2 cocoa boolean nsmutablearray
看起来很容易将一个布尔值添加到NSMutableArray中.
假设toDoArray初始化为NSMutableArray.下列:
BOOL checkBoxState = NO;
[toDoArray addObject:checkBoxState];
Run Code Online (Sandbox Code Playgroud)
生成错误"尝试插入nil".
将负布尔值添加到可变数组的正确方法是什么?
正如其他人所说,NSMutableArray只能包含Objective-C对象.它们不必是子类NSObject,但这是最典型的.
但是,在您看到attempt to insert nil.运行时错误之前很久,您应该看到编译器警告:
warning: passing argument 1 of 'addObject:' makes pointer from integer without a cast
Run Code Online (Sandbox Code Playgroud)
它[以模糊和迂回的方式]告诉你究竟是什么问题; 你试图将某些东西粘贴到一个不是[指向对象]指针的数组中.
注意警告并修复它们.大多数情况下,警告的存在将指示运行时错误或崩溃.