2012-10-16 207 views
1

我正在學習通過開發一個通訊錄應用程序有關Objective - C。我不使用Core dataAddress book API,因爲這只是學習。因此,每個聯繫人都是存儲在主人NSArray中的對象。用戶可以在NSArray中創建每個組存儲相應聯繫人對象的聯繫人組。我面臨的問題是當聯繫人從主數組中刪除時,我必須手動將其從所有組中刪除,因爲NSArray會保留其對象。有沒有更好的方法呢?存儲對象

+0

是U複製在不同的組相同的對象..? – vishy

+0

是的,爲什麼這是一個不好的方法?它將解決一致性問題。 –

回答

0

當你正在學習,我建議:

簡單: 讓你的應用程序僅聯繫人列表,添加/編輯/刪除允許一個主機列表中的聯繫人。您還可以在plist文件目錄中保存&檢索列表。

您將學習:plist中,的tableView,導航,viewControllers,陣列內保持從&數據。

實時: 您可以使用sqlite數據庫,並使用4-5表。如果您喜歡,每個人都有聯繫人,組,地址,網站和其他許多其他人。所有與表格id相關聯的表格。除了上面提到的,這絕對有助於你學習很多東西。

0

不要複製對象爲多個陣列。使用與原始對象相同的指針將同一對象添加到多個數組中。維護指向數組的指針並一次從所有數組中刪除相同的對象。如果你想實現isEqual使它使用==指針相等。

複製在收藏存放的目的,相同的對象只能爲自己創造頭痛。不變性是一個很好的功能,但整個系統的實際身份是一個更好的特徵,尤其是在基於指針的語言中。

+0

這就是我現在正在做的。我想也許會使用類似通知的方式,以便聯繫人組對象可以自行將其從列表中刪除。但用戶信息字典*複製*傳遞給它的對象。 –