如何在映射模型中设置反向关系的值?
Posted
技术标签:
【中文标题】如何在映射模型中设置反向关系的值?【英文标题】:How do I set the value of an inverse relationship in a mapping model? 【发布时间】:2011-02-14 21:08:43 【问题描述】:在我的模型 v1 中,presentation
和 slides
之间存在一对多关系:
presentation---->>slides
在 v2 中,我通过添加一对一的逆来解决这个愚蠢问题:
presentation<--->>slides
在这两个模型中,slide
属于 1 且仅属于 1 presentation
(尽管模型中并未对此进行编码)。
如何在映射模型中指定值表达式来创建slide-->presentation
关系而不创建NSEntityMigrationPolicy
子类?
【问题讨论】:
【参考方案1】:据我所知,在映射中使用值表达式是不可能做到这一点的。解决方案是为映射创建一个NSEntityMigrationPolicy
子类。
在NSEntityMigrationPolicy
子类中覆盖createRelationshipsForDestinationInstance:entityMapping:manager:error:
。在此方法中,使用在管理器 destinationContext
中执行的标准 NSFetchRequest
获取相关对象。请务必致电super
以确保任何其他关系也被迁移。
【讨论】:
以上是关于如何在映射模型中设置反向关系的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 RestKit 中的 JSON 数组进行映射 [重复]