转移NSMutableArray中的所有元素?

时间:2012-08-20 03:39:23

标签: objective-c macos

我有一个NSMutableArray,它将以0个对象开头,但随着程序的进展,对象将被添加到它中。当添加新元素时,如何向下移动所有元素?

例如:

1)NSMutableArray array = 0个元素

2)NSMutableArray array = 1个元素{[0,a]}

3)NSMutableArray数组= 2个元素{[0,b],[1,a]}

4)NSMutableArray数组= 3个元素{[0,c],[1,b],[2,c]}

通过上面的列表可以看出,当对象被添加到数组中时,所有当前元素都向下移动。但是,我不希望我的数组超过一定的大小(比方说10个元素)。当一个元素被推到11时,我希望它“被”推出数组。我怎么能这样做呢?

类似问题:NSMutablearray move object from index to index

2 个答案:

答案 0 :(得分:8)

你可以这样做:

[array insertObject:object atIndex:0];
if ([array count] > 10) {
    [array removeLastObject];
}

第一行会自动将其他元素推开,而下一行只是确保数组的长度不超过10。

答案 1 :(得分:1)

我不确定NSMutableArray是否是合适的结构。您正在描述一个大小有限的堆栈;你正在将新元素推到前面,然后元素会从背面掉下来。

是否真的有必要将对象的索引值设置为堆栈/数组中的索引?