【问题标题】:Shift all elements in an NSMutableArray?移动 NSMutableArray 中的所有元素?
【发布时间】:2012-08-20 03:39:22
【问题描述】:

我有一个 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

【问题讨论】:

    标签: objective-c macos


    【解决方案1】:

    你可以这样做:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-23
        • 2014-04-06
        • 1970-01-01
        • 2023-01-23
        • 2016-04-06
        • 1970-01-01
        • 2012-09-18
        • 2018-12-20
        相关资源
        最近更新 更多