我的问题类似于此链接上的问题:Creating a CoreData entity based on attribute evaluation
刚刚开始编写我的第一个使用核心数据的项目,其中我有5个实体,即公司,会议,议程,SubAgendas和会议纪要。 公司应与会议相关,每次会议都应与其“议程”和“会议纪要”建立关系...随后会议的每个议程都应与其“SubAgendas”相关
以下代表我项目的基本数据模型:
公司{ 标题:字符串 }
会议{ 标题:字符串 日期:日期}
议程{ 名称:字符串 }
SubAgendas { 名称:字符串 }
分钟{ 名称:字符串 }
我需要以这样的方式编写代码:如果任何关于这些实体中的属性的信息被更改,则必须同步它。它涉及为每个实体创建新的属性值或更新现有的属性值。为此我计划为每个实体创建一个名为ID或标记的属性,这样一旦我设置了每个实体之间的关系,我就可以参考该唯一标记值更新实体的所有其他属性值。
请原谅我,如果我的问题令人困惑。如果你能理解,请告诉我,我打算做的是正确的方法。我完全不知道编码部分,但我想我可以管理,如果任何人可以帮助我使用已经用于类似要求的样本。
答案 0 :(得分:0)
你这是错误的方式。您的“标记值”实际上只是传统数据库编程中的所谓外键。
但Core Data不是“数据库”,而是 Object Graph 。因此,您不需要使用这些外键,只需在实体之间设置关系,并在幕后发生其他所有事情。
因此,要更改属性,只需执行以下操作:
agenda.name = @"New agenda name";
subagenda.agenda.meeting.title = @"New Meeting Title";
因此无需通过外键更新任何内容。欢迎来到Core Data的精彩世界。
请阅读Core Data Programming Guide以掌握这些概念。