我有3個NSMutableDictionaries爲3個獨立的UITableViews保存數據。當從一個UITableViews檢查一個值時,我想要保存該值,這取決於從不同表中檢查的不同值,我可以在下一頁生成一個答案。我想也許我可以創建一個新的NSMutableDictionary,它具有所有可能的選擇,然後當用戶點擊複選框時,告訴我的newNSMutableDictionary該值已被選中。但我認爲它不是那種方式,因爲它是一個重要的價值配對。我想知道是否有替代方案,或者是否有人持有這些信息的好方法?謝謝。NSMutableDictionary的替代品?
0
A
回答
0
爲什麼不把所有可能的選擇存儲在NSDictionary中,用用戶可以做出的所有選擇來初始化它。當用戶進行選擇時,將該項目添加到「selectedItems」NSMutableDictionary中。這樣,你的NSMutableDictionary(包含選擇)將只有選中的項目,你可以添加和從這個字典中刪除,而不需要改變包含用戶可以選擇的非可變NSDictionary。
2
而不是這樣做,你可以嘗試有一個NSMutableArray
所選的NSIndexPath
對象。 這樣,你就會有一個漂亮的輕量級的內存佔用(延遲加載),如果你需要抓住的實際單元格的值,你可以問UITableView
與-tableView:cellForRowAtIndexPath:
,或者甚至更好,有一個NSMutableDictionary
有一個鍵是包裝在NSNumber
中的特定桌面視圖的tag
,值是所選索引路徑的NSMutableArray
。
要檢索選定的指數路徑是如此簡單:
NSArray *indexPaths = [selectedDict objectForKey:[NSNumber numberWithInt:tableView.tag]];
for(NSIndexPath *p in indexPaths) {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:p];
//do something with cell...
}
0
我不知道如果我正確理解你的問題。
但是,如果您的數據具有樹的「形狀」,則可以考慮以這種方式保存信息。
- 你可以把字典你的字典裏
- 你可以把你的數據在CoreData和使用NSTreeController
相關問題
- 1. @「」的替代品?
- 2. ASIHTTP的最佳替代品,替代品或替代品用於下載隊列
- 3. Pieceable的替代品
- 4. NowJS的替代品
- 5. Flash的替代品?
- 6. RelativeLayout的替代品?
- 7. JMegahal的替代品
- 8. JodReports的替代品
- 9. Git的替代品?
- 10. YQL的替代品
- 11. window.scrollMaxY的替代品?
- 12. FMINCON的替代品
- 13. SuperSized的替代品
- 14. reCAPCTHA的替代品?
- 15. wx.lib.masked.NumCtrl的替代品
- 16. webistrano的替代品?
- 17. PathListBox的替代品
- 18. CKAN的替代品
- 19. SwaggerHub的替代品
- 20. Wakelocks的替代品?
- 21. fancybox的替代品?
- 22. Dreamweaver的替代品?
- 23. pdftohtml的替代品
- 24. MSMQ的替代品
- 25. SRSPlus的替代品?
- 26. Webview的替代品?
- 27. @VisibleForTesting的替代品
- 28. OnPropertyChanged的替代品
- 29. Heroku的替代品
- 30. Tika的替代品
母艦一樣需要是可變的,如果它包含用戶在運行時進行選擇? – Matt 2011-05-26 21:50:31
@Matt,是的,這是正確的。 – 2011-05-26 21:50:59