2

0 個のオブジェクトから始まる NSMutableArray がありますが、プログラムが進行するにつれてオブジェクトが追加されます。新しい要素が追加されたときに、すべての要素を下にシフトするにはどうすればよいですか?

例えば:

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 オブジェクトをインデックスからインデックスに移動

4

2 に答える 2

8

次のようにできます。

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

最初の行は他の要素を邪魔にならないように自動的にプッシュし、次のビットは配列の長さが 10 を超えないようにします。

于 2012-08-20T03:41:18.490 に答える
1

NSMutableArrayanが適切な構造かどうかはわかりません。サイズ制限のあるスタックについて説明しています。新しい要素を前面にプッシュすると、要素が背面から落ちる可能性があります。

オブジェクトのインデックス値をスタック/配列のインデックスに設定する必要は本当にありますか?

于 2012-08-20T03:47:57.360 に答える