我有以下代码:
for (int i = 1; i <= [nmaSpread count];)
{
[nmaUserName addObjectsFromArray:[nmaSpread objectAtIndex:i]];
[nmaSpread removeObjectAtIndex:i];
i += 2;
}
我已经声明了所有的变量为全局变量,nmaUserName和nmaSpread都是NSMutableArrays,并且已经在viewDidLoad中分配了。
我想将 nmaSpread 中的所有奇数对象存储到 nmaUsername 中,然后删除 nmaSpread 中的事件对象。
然而,它总是因这个错误而崩溃:
[NSMutableArray addObjectsFromArray:]: array argument is not an NSArray 2011-12-11 21:08:55.123 appName[15671:f803] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[NSMutableArray addObjectsFromArray:]: array argument is not an NSArray'
最佳答案
nmaSpread
本身是一个 NSMutableArray,但看起来它包含的对象不是。当您执行 [nmaSpread objectAtIndex:i]
时,会从 nmaSpread
返回一个对象。此对象不是数组,因此要添加它,您只需使用 addObject:
,而不是 addObjectsFromArray:
。
关于objective-c - 从另一个数组添加对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8467554/