2011-11-02 21 views
-1

私はNSMutableArrayに値を追加するループを持っていますが、次のバッチに移動すると、次にデータを追加するために配列をクリアして初期化する必要があり、[jobList release]トリックだけどそれはしません。誰かが私が各繰り返しの後に配列をリセットするために使用できることを教えてください。NSMutableArrayを初期化する方法

答えて

3

あなたがそれに-releaseを送信する場合、それはおそらくが、オブジェクトが割り当て解除され、あなたはそれになりたいようではないをクリアしていることない特定のです。

ソリューションは超簡単です:-removeAllObjectsメソッドを使用します:あなたは間違いなくそれを行うにしたくないので、releaseは、他のオブジェクトがそれを保持しない場合は、オブジェクトが割り当て解除される可能性がありこう

for(id x in jobList) { 
    //... 
} 

[jobList removeAllObjects]; 

//... 
+1

+1しかしそれはそれよりも悪いです。割り当てが解除される可能性はありますが、確実ではありません。時にはそうではなく、あなたはブームになるまで、その過渡的な性質の幸せな無知でそれを使うことができます。 –

+0

うまく働いてくれてありがとうございました。しかし、今起こるのは、各キーグループが最後のキーグループによって上書きされるということです。最初の項目が10個の項目から始まり、次に配列をクリアするとします。 12個のアイテムを持つ次のグループを追加すると、最初のグループにも同じ12個のアイテムが突然表示されます。私は何が欠けていますか? – user616076

0

クリアダウンを行うには​​。

0

あなたは、単にあなたがアクセスしているオブジェクトの割り当てを解除しますreleaseを使用して[jobList removeAllObjects];

0

使用することができ、これは間違っています。私はあなたが探していると思う

[jobList removeAllObjects]; 
関連する問題