在多个NSArrays中存储对象

时间:2012-10-16 05:58:59

标签: objective-c nsarray foundation

我通过开发联系人应用了解Objective - C。我没有使用Core dataAddress book API,因为这只是为了学习。因此,每个联系人都是一个存储在主NSArray中的对象。用户可以创建联系人组,其中每个组在NSArray中存储相应的联系人对象。我面临的问题是当从主阵列中删除联系人时,我必须手动将其从所有组中删除,因为NSArray保留其对象。有更好的解决方法吗?

2 个答案:

答案 0 :(得分:0)

在你学习的时候,我建议:

<强>简单: 让您的应用程序只有联系人列表,添加/编辑/删除单个主列表中的联系人。你也可以保存&amp;从文档目录中的plist中检索列表。

您将学习:plist,tableView,navigation,viewControllers,维护数据来自&amp;在数组内。

<强>实时: 您可以使用带有4-5个表的sqlite数据库。如果您愿意,每个人都有联系人,群组,地址,网站等等。所有表都与行id的引用相互关联。除了上面提到的,这肯定会帮助你学到很多东西。

答案 1 :(得分:0)

不要将对象复制到多个数组中。使用与原始对象相同的指针将同一对象添加到多个数组。保持指向数组的指针并立即从所有数组中删除相同的对象。如果要实现isEqual,请使用==指针相等。

为了存储在集合中而复制同一个对象只会给自己带来麻烦。不变性是一个很好的特性,但整个系统的实际身份更好,特别是在基于指针的语言中。