我正在Objective - C
通过开发联系人应用程序来学习。我没有使用Core data
or Address book API
,因为这只是为了学习。因此,每个联系人都是一个存储在 master 中的对象NSArray
。用户可以创建联系人组,其中每个组将适当的联系人对象存储在NSArray
. 我面临的问题是,当从主数组中删除联系人时,我必须手动将其从所有组中删除,以NSArray
保留其对象。有没有更好的方法来解决这个问题?
问问题
83 次
2 回答
0
不要将对象复制到多个数组中。使用指向原始对象的相同指针将相同对象添加到多个数组。维护指向数组的指针并立即从所有数组中删除相同的对象。如果你想实现 isEqual 让它使用 == 指针相等。
为了存储在集合中而复制相同的对象只会让您自己头疼。不变性是一个很好的特性,但跨系统的实际标识更好,尤其是在基于指针的语言中。
于 2012-10-16T07:25:27.200 回答
0
在你学习的过程中,我建议:
简单: 让您的应用程序只有联系人列表,从单个主列表中添加/编辑/删除联系人。您还可以从文档目录中的 plist 保存和检索列表。
您将学习:plist、tableView、导航、viewControllers、维护数组中的数据。
实时: 您可以使用具有 4-5 个表的 sqlite 数据库。如果您愿意,每个都有联系人、组、地址、网站和许多其他。所有表都与行 ID 的引用相互关联。除了上面提到的之外,这绝对可以帮助您学习很多东西。
于 2012-10-16T07:17:45.760 回答