私は比較的目的のCに新しいです.2D NSMutableArrayに問題があります.1つのNSMutableArrayの内容を別のNSMutableArrayの内容に追加するときの動作です。NSMutableArraysのNSMutableArray、addObjectの問題
私はNSMutableArrayを含むシングルトンクラスを持っています。この配列は、NSURL値を格納するための配列です。 プログラムのある時点で、このNSMutableArrayを別のNSMutableArrayに全体として追加する必要があります。
私は次のようなことをします: [arrayIWantStuffIn addObject:mySingleton.singletonMutableArray];
問題は、NSLRL値の新しいセットの格納を開始するためにsingltonMutableArrayをリセットする必要があるということです。上記のaddObject関数は、値渡しではなく参照渡しのように見えるので、私は次のようにします。
[mySingleton.singletonMutableArray removeAllObjects];
arrayIWantStuffInに格納されたデータも消去されます。
NSMutableArrayを別のNSMutableArrayに参照ではなく値で追加する「深い」addObjectを実現するにはどうすればよいですか?
これは魅力的なように機能しました。ありがとうジョー。これを正しく理解していることを確認してください。[mySingleton.singletonMutableArray mutableCopy]は、私のsingletonMutableArrayのディープコピーを作成し、そのコピーをaddObjectに渡されるオブジェクトとして使用しますか? –
'singletonMutableArray'のディープコピーを作成しないので、mutableCopyはコピー時に同じ' NSURL'を指していますが、 'singletonMutableArray'を変更すると' arrayIWantStuffIn'は変更されませんおよびその逆。また、 'NSURL'は不変ですので、変更することについて心配する必要はありません。 – Joe