我通过开发联系人应用了解Objective - C
。我没有使用Core data
或Address book API
,因为这只是为了学习。因此,每个联系人都是一个存储在主NSArray
中的对象。用户可以创建联系人组,其中每个组在NSArray
中存储相应的联系人对象。我面临的问题是当从主阵列中删除联系人时,我必须手动将其从所有组中删除,因为NSArray
保留其对象。有更好的解决方法吗?
答案 0 :(得分:0)
在你学习的时候,我建议:
<强>简单:强> 让您的应用程序只有联系人列表,添加/编辑/删除单个主列表中的联系人。你也可以保存&amp;从文档目录中的plist中检索列表。
您将学习:plist,tableView,navigation,viewControllers,维护数据来自&amp;在数组内。
<强>实时:强> 您可以使用带有4-5个表的sqlite数据库。如果您愿意,每个人都有联系人,群组,地址,网站等等。所有表都与行id的引用相互关联。除了上面提到的,这肯定会帮助你学到很多东西。
答案 1 :(得分:0)
不要将对象复制到多个数组中。使用与原始对象相同的指针将同一对象添加到多个数组。保持指向数组的指针并立即从所有数组中删除相同的对象。如果要实现isEqual,请使用==指针相等。
为了存储在集合中而复制同一个对象只会给自己带来麻烦。不变性是一个很好的特性,但整个系统的实际身份更好,特别是在基于指针的语言中。