iphone - 如何保证核心数据实体的单一实例

标签 iphone ios core-data

我有一个 iPhone 应用程序,我想维护用户的个人资料信息。 我还有一个 friend 列表。

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

我有一个 friend 的核心数据实体。

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

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

如果我使用 friend 实体,如何确保在为 friend TableView 获取 friend 列表时不显示个人资料信息。

提前致谢。

最佳答案

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

在我看来,您有一个名为“Member”的实体,它具有您当前拥有的所有属性,以及与其自身的多对多“isFriend”关系。

这样,任何“ friend ”都可以是“个人资料”,任何“个人资料”都可以是“ friend ”。它还将使您非常直接地实例化“成员”对象并拉取其所有“ friend ”。

至于确保配置文件只有一个实例,每个实例都需要一个唯一标识符 - 如果您对要实现的目标没有太多背景知识,我建议您考虑拥有一个用户名或电子邮件地址字段,您可以将其用作执行 fetchRequest 的参数,并在允许成员(member)注册/创建新个人资料之前查看是否获得任何现有匹配。

关于iphone - 如何保证核心数据实体的单一实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5088668/

相关文章:

objective-c - 抑制行特定的 XCode 编译器警告

ios - 另一个具有非透明内容的透明 UIView 上的透明 View ?

ios - 在 iOS 中为我​​自己的框架添加 "THIS has been renamed to THAT"

ios - coreData Fetch 中的 NSInternalInconsistencyException

ios - Swift 3 向后兼容中的核心数据栈

iphone - Feedly 如何为其 iPhone 应用程序实现自定义页面控制?

iphone - 在phonegap/iphone中加载自定义 View

iPhone 核心数据缺失实体

ios - 让全局变量不懒惰

ios - Core Data 和 UISearchBar 之间的问题