我试图将一个NSMutableArray中的所有其他对象添加到另一个。 到目前为止,这是我的代码。
for (int i = 0; i < all.count; i ++) {
[cat insertObject:all atIndex:0];
[all removeObjectAtIndex:i];
}
它没有将名为all的mutableArray添加到名为cat的mutableArray中。 我想从一个数组中删除所有偶数对象,然后将它放到下一个数组中。
答案 0 :(得分:2)
您正在将数组all
插入cat
。您应该使用all
的元素,如下所示:
for (int i = 0; i < all.count; i += 2) {
[cat addObject:[all objectAtIndex:i]];
}
或使用方括号语法访问all
的数组元素,如下所示:
for (int i = 0; i < all.count; i += 2) {
[cat addObject:all[i]];
}
答案 1 :(得分:1)
首先,您需要确保您的cat对象之前已使用空NSMutableArray
初始化。
然后,将每个其他对象从一个对象传递到另一个对象的代码可能如下所示:
for (int i = 0; i < [all count]; i++) {
id item = [all objectAtIndex:i];
[cat addObject:item];
[all removeObject:item];
}
这将从0迭代到all.count,将索引处的对象添加到cat
数组,并将其从all
数组中删除。您不需要使用i += 2
进行迭代,因为removeObject的工作方式,它会移动剩余对象的索引以填充已删除对象的空间。
假设您已删除索引0,那么索引1将是新索引0,因此,为了转到原始索引2,您只需要转到新索引1。
答案 2 :(得分:0)
你可以像这样一次初始化cat数组 NSArray * cat = [NSArray arrayWithArray:all];