如何确保核心数据实体的单个实例

时间:2011-02-23 08:46:51

标签: iphone ios core-data

我有一个iPhone应用程序,我想维护用户的个人资料信息。 我也有一个朋友名单。

个人资料中包含的信息字段与朋友的信息字段相同。

我有朋友的核心数据实体。

我应该为个人资料创建一个单独的实体,还是只使用朋友实体。

如果我使用单独的实体,我如何确保只有1个配置文件实例。

如果我使用朋友实体,当我获取朋友表视图的朋友列表时,如何确保没有显示个人资料信息。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您或许应该重新考虑您的命名约定,以便更容易地可视化您的对象模型。

我看到它,你有一个名为'会员'的实体,其中包含您目前拥有的所有属性,以及与自身有多对多的“isFriend”关系。

这样,任何“朋友”都可以成为“个人资料”,任何“个人资料”都可以成为“朋友”。它还可以让您非常直接地实例化“会员”对象并拉出所有“朋友”。

至于确保只有一个配置文件的实例,你需要为每个实例提供一个唯一的标识符 - 没有你想要实现的目标的背景,我建议你考虑使用用户名或电子邮件地址字段,您可以将其用作执行fetchRequest的参数,并在允许成员注册/创建新配置文件之前查看是否获得任何现有匹配。

答案 1 :(得分:0)

如何制作包含

等属性的单个表格
Name (NSString)
...
//your desired attributes which are common to both
isFriend (BOOL)//to keep track of profile type 
用这种方式你不需要制作两个实体。