如何参考CoreData中同一实体的单个属性更新实体的属性?

时间:2012-08-25 02:25:31

标签: iphone database-design core-data ticoredatasync

我的问题类似于此链接上的问题:Creating a CoreData entity based on attribute evaluation

刚刚开始编写我的第一个使用核心数据的项目,其中我有5个实体,即公司,会议,议程,SubAgendas和会议纪要。 公司应与会议相关,每次会议都应与其“议程”和“会议纪要”建立关系...随后会议的每个议程都应与其“SubAgendas”相关

以下代表我项目的基本数据模型:

公司{   标题:字符串 }

会议{   标题:字符串   日期:日期}

议程{   名称:字符串 }

SubAgendas {   名称:字符串 }

分钟{   名称:字符串 }

我需要以这样的方式编写代码:如果任何关于这些实体中的属性的信息被更改,则必须同步它。它涉及为每个实体创建新的属性值或更新现有的属性值。为此我计划为每个实体创建一个名为ID或标记的属性,这样一旦我设置了每个实体之间的关系,我就可以参考该唯一标记值更新实体的所有其他属性值。

请原谅我,如果我的问题令人困惑。如果你能理解,请告诉我,我打算做的是正确的方法。我完全不知道编码部分,但我想我可以管理,如果任何人可以帮助我使用已经用于类似要求的样本。

1 个答案:

答案 0 :(得分:0)

你这是错误的方式。您的“标记值”实际上只是传统数据库编程中的所谓外键。

但Core Data不是“数据库”,而是 Object Graph 。因此,您不需要使用这些外键,只需在实体之间设置关系,并在幕后发生其他所有事情。

因此,要更改属性,只需执行以下操作:

agenda.name = @"New agenda name";
subagenda.agenda.meeting.title = @"New Meeting Title";

因此无需通过外键更新任何内容。欢迎来到Core Data的精彩世界。

请阅读Core Data Programming Guide以掌握这些概念。