2010-11-18 17 views
6

値がロードされているNSMutableArrayがあります。NSMutableArray内の値を変更する

後でアプリケーションで、配列の要素の1つの値を変更する必要があります。

どうすればよいですか?

おかげ トニー

答えて

16

は、クラス参照のインスタンスメソッドを見てみましょう。 replaceObjectsAtIndexes:withObjects:複数のオブジェクトを一度に置き換えることができます。

+0

私は本当に閉じ込められ、あなたは私を救った。ありがとうございました。 –

4

-[NSMutableArray replaceObjectAtIndex:withObject:]となります。配列内のオブジェクトが変更可能な場合は、-objectAtIndex:をつかんでプロパティを直接変更してください。

+0

私はこれらの回答が実際には少し話題になっています。 OPは、オブジェクト全体ではなく、オブジェクトの1つのプロパティを更新したいと考えていました。そうだった場合は、オブジェクト全体を置き換えることなくそれを行う方法がありますか? – whyoz

+1

@whyoz:私が書いたように、オブジェクトの配列を求めてプロパティを変更するだけです。 'MyObject * obj = array [index]; obj.myProperty = newValue; '。 –

+1

私は、「受け入れられた答え」がトピックから少し離れていることがわかりましたが、OPの意味は「要素の1つの値を変更する」ということです。すべての値を変更して既存のオブジェクトの値と置き換える場合は、replaceObjectAtIndexが役に立ちます。いくつかの値を変更する必要がある場合は、前述のコメントでOleがより詳細に説明する方法で変更が必要な各プロパティにアクセスする必要があります。この記事の読者の中には、objectAtIndexの意味を理解しておらず、必要なものであっても答えを渡す人がいるかもしれません。 – whyoz

1

は次のリンクを参照してください。それはあなたの

http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Classes/NSMutableArray_Class/Reference/Reference.html#//apple_ref/occ/instm/NSMutableArray/replaceObjectAtIndex:withObjectを助けるかもしれない:withObject:あなたはreplaceObjectAtIndexを使用できることから、

または
replaceObjectsAtIndexes:withObjectsを:オブジェクトを交換するため。

オブジェクトのインデックスを知っておく必要があります。

関連する問題