如何参考CoreData中同一实体的单个属性更新实体的属性?
Posted
技术标签:
【中文标题】如何参考CoreData中同一实体的单个属性更新实体的属性?【英文标题】:How do I update the attributes of an entity with reference to a single attribute of the same entity in CoreData? 【发布时间】:2012-08-25 02:25:30 【问题描述】:我的问题类似于此链接上的问题:Creating a CoreData entity based on attribute evaluation
我刚刚开始编写我的第一个使用 Core Data 的项目,其中我有 5 个实体,即公司、会议、议程、子议程和会议纪要。 公司将与会议相关,每次会议都应与其“议程”和“会议纪要”相关......随后会议的每个议程都应与其“子议程”相关
以下代表我项目的基本数据模型:
公司 标题:字符串
会议 标题:字符串 日期:日期
议程 名称:字符串
子议程 名称:字符串
分钟 名称:字符串
我需要以这样一种方式进行编码,即如果有关这些实体中的任何属性的任何信息发生更改,则必须对其进行同步。它涉及为每个实体创建新的属性值或更新现有的属性值。为此我计划为每个实体设置一个名为 ID 或标签的属性,这样一旦我设置了每个实体之间的关系,我就可以参考该唯一标签值来更新实体的所有其他属性值。
如果我的问题令人困惑,请原谅我。如果您能理解,请告诉我我打算做的事情是否正确。我完全不知道编码部分,但我认为如果有人可以帮助我处理用于类似要求的示例,我可以管理。
【问题讨论】:
【参考方案1】:您以错误的方式处理此问题。您的“标签值”实际上只不过是传统数据库编程中的所谓外键。
但Core Data 不是“数据库”,它是一个对象图。因此,您不需要使用这些外键,您只需在实体之间建立关系,其他一切都在幕后发生。
因此,要更改属性,只需这样做:
agenda.name = @"New agenda name";
subagenda.agenda.meeting.title = @"New Meeting Title";
因此无需通过外键更新任何内容。欢迎来到 Core Data 的精彩世界。
请阅读Core Data Programming Guide 以掌握这些概念。
【讨论】:
[reply:mundi] 谢谢,我要记住 core-data 不像 sql 数据库,它只是一个对象图。但是我仍然对如何更新属性值有疑问。我希望我的代码准确指向要更新的实体的属性,因为我不需要更新与之相关的其他实体的任何其他属性值。 核心数据完全符合您的描述。 [reply:mundi] 谢谢伙计,我几乎完成了核心数据的实现,是的,太棒了。以上是关于如何参考CoreData中同一实体的单个属性更新实体的属性?的主要内容,如果未能解决你的问题,请参考以下文章