我有以下代码:
for (int i = 1; i <= [nmaSpread count];)
{
[nmaUserName addObjectsFromArray:[nmaSpread objectAtIndex:i]];
[nmaSpread removeObjectAtIndex:i];
i += 2;
}
我已将所有变量声明为global,nmaUserName和nmaSpread都是NSMutableArrays,并已在viewDidLoad中分配。
我想将所有奇怪的对象从nmaSpread存储到nmaUsername中,然后删除nmaSpread中的活动对象。
但是,它始终因以下错误而崩溃:
[NSMutableArray addObjectsFromArray:]:数组参数不是NSArray
2011-12-11 21:08:55.123 appName [15671:f803] *由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*-[NSMutableArray addObjectsFromArray:]:数组参数不是NSArray'
最佳答案
nmaSpread
本身是一个NSMutableArray,但看起来它包含的对象却不是。当您执行[nmaSpread objectAtIndex:i]
时,将从nmaSpread
返回一个对象。该对象不是数组,因此要添加它,只需使用addObject:
,而不是addObjectsFromArray:
。