1

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

4

2 回答 2

0

不要将对象复制到多个数组中。使用指向原始对象的相同指针将相同对象添加到多个数组。维护指向数组的指针并立即从所有数组中删除相同的对象。如果你想实现 isEqual 让它使用 == 指针相等。

为了存储在集合中而复制相同的对象只会让您自己头疼。不变性是一个很好的特性,但跨系统的实际标识更好,尤其是在基于指针的语言中。

于 2012-10-16T07:25:27.200 回答
0

在你学习的过程中,我建议:

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

您将学习:plist、tableView、导航、viewControllers、维护数组中的数据。

实时: 您可以使用具有 4-5 个表的 sqlite 数据库。如果您愿意,每个都有联系人、组、地址、网站和许多其他。所有表都与行 ID 的引用相互关联。除了上面提到的之外,这绝对可以帮助您学习很多东西。

于 2012-10-16T07:17:45.760 回答