MagicalRecord 如何在关系中添加对象

Posted

技术标签:

【中文标题】MagicalRecord 如何在关系中添加对象【英文标题】:MagicalRecord how to add objects in relationships 【发布时间】:2012-09-04 07:15:01 【问题描述】:

ios5.0 中,使用 arc,我使用 Magical record 在核心数据中创建对象。我有一个产品对象,它与 Promotion 对象具有一对多的关系,称为“currentPromotions”。促销对象也具有反向关系“parentProduct”。我能够创建这些对象,但是在如何使用 github 中的 MagicalRecord 创建关系并将促销对象附加到产品时遇到了困难。

还有关于魔法记录的文档太少了。对此的任何指示也将有所帮助。

提前感谢您对此的帮助

【问题讨论】:

这可能与***.com/questions/1177148/…重复 【参考方案1】:

在使用 MagicalRecord 时,大多数有关 Core Data 的信息都适用。我建议在查找文档时先查看那里。 MagicalRecord 基本上试图将文档告诉您的内容编成一个好主意。

不过,对于您的问题,您似乎有这样的关系:

Product <---> Promotion

你像这样连接你的两个实例:

Product *a = //...;
a.promotion = [Promotion createEntity];

其他一切都为您完成,不是由 MagicalRecord,而是由 Core Data。 如果您想将产品添加到您的产品集合中进行促销,您可以执行以下操作:

Promotion *p = //...;
[p addProductOjbect:[Product createEntity]];

addProductObject: 方法是由 Core Data 在运行时为您创建的。

我强烈建议您在研究 MagicalRecord 时了解更多有关 Core Data 的信息,因为 MagicalRecord 并没有真正隐藏任何内容。它只是让“简单”的东西变得简单,让困难的东西成为可能。

【讨论】:

谢谢你的解释。阅读核心数据后,可以按照你所说的实现它! :-)

以上是关于MagicalRecord 如何在关系中添加对象的主要内容,如果未能解决你的问题,请参考以下文章

MagicalRecord 不保存对多关系实体

MagicalRecord:修改相关对象的属性

MagicalRecord 获取关系 id 为 x 的一对多关系中的所有实体

MagicalRecord findByAttribute 返回反向关系文档问题

多态关系的 MagicalRecord 导入

为啥我的对象更新为 MagicalRecord 持久存储执行了两次?