我有一个 iPhone 应用程序,我想维护用户的个人资料信息。 我还有一个 friend 列表。
个人资料中包含的信息字段与 friend 的相同。
我有一个 friend 的核心数据实体。
我应该为个人资料创建一个单独的实体还是只使用好友实体。
如果我使用单独的实体,我如何确保只有 1 个配置文件实例。
如果我使用 friend 实体,如何确保在为 friend TableView 获取 friend 列表时不显示个人资料信息。
提前致谢。
最佳答案
您或许应该重新考虑您的命名约定,以便更轻松地可视化您的对象模型。
在我看来,您有一个名为“Member”的实体,它具有您当前拥有的所有属性,以及与其自身的多对多“isFriend”关系。
这样,任何“ friend ”都可以是“个人资料”,任何“个人资料”都可以是“ friend ”。它还将使您非常直接地实例化“成员”对象并拉取其所有“ friend ”。
至于确保配置文件只有一个实例,每个实例都需要一个唯一标识符 - 如果您对要实现的目标没有太多背景知识,我建议您考虑拥有一个用户名或电子邮件地址字段,您可以将其用作执行 fetchRequest 的参数,并在允许成员(member)注册/创建新个人资料之前查看是否获得任何现有匹配。
关于iphone - 如何保证核心数据实体的单一实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088668/