我有以下代码:

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:

10-06 11:29