2

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

例如:

1) NSMutableArray 数组 = 0 个元素

2) NSMutableArray 数组 = 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

4

2 回答 2

8

你可以这样做:

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

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

于 2012-08-20T03:41:18.490 回答
1

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

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

于 2012-08-20T03:47:57.360 回答