私は、サーバーからいくつかのJSONデータを取得し、サブアレイとサブディクショナリを含む辞書の配列に解析するiPhoneアプリケーションを持っています。NSDictionaryのNSArrayをディープコピーする方法は?
今私はfilteredTimetable
をループし、不要なオブジェクトを取り除く前にfilteredTimetable
にコピーして、timeTable
のivarに保存しました。
私が抱えている問題は、再度フィルタリングできるようにアレイを復元しようとするときです。コピーされたNSArrayから前に削除されたオブジェクトは元のNSArrayからも削除されます。
filteredTimeTable = [[NSMutableArray alloc] initWithArray:timeTable copyItems:YES];
私はfilteredTimeTable
は単にtimeTable
内のオブジェクトへのポインタを保存するのではなくメモリにコピーしているためであると仮定します。ここで
は私のデータ構造の一例である:
[
{"time":"09:00",
"events": [
{ "module":"COMP319", "type":"lecture", "room":"BROD-108:80" }
{ "module":"COMP320", "type":"lab", "room":"BROD-LT" }
]},
私はもはや私が要素を復元することはできません必要とされたモジュールを削除します。
これで、すべてのサブオブジェクトを含めて完全コピーを行うことはできますか?
私は最初のオプションを使いました。私は2番目を試みたが、私のアプリケーションはクラッシュした。 – Ash