我有一個iPhone應用程序,從服務器拉一些JSON數據,然後將其解析成包含子數組和子字典的字典數組。如何深度複製NSDictionaries的NSArray?
現在,我已經存儲在一個ivar timeTable
然後複製它到filteredTimetable
之前循環通過filteredTimetable
並刪除我不需要的對象。
我遇到的問題是當我嘗試恢復數組,以便它可以再次過濾。之前從複製的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" }
]},
當我刪除不再需要我不能恢復元件的模塊。
那麼無論如何要做一個完整的副本,包括所有的子對象?
我去了第一個選項。我嘗試了第二個,但是我的應用程序崩潰了。 – Ash