2

我对restkit中的关系映射有一个小问题。我的模型中有如下关系:

新闻 < -- >> 标签

在 coredata 中,我将其映射为:

新闻:标签 -> 对多,可选

标签:新闻 -> 一对一,必填。

现在......我有一个如下的JSON:

{
   "news" : {
     "attr1" = "...",
     "tags" = ["tag1, "tag2, ...]
   }
}

我以这种方式设置我的映射(顺便说一句:我的标签实体只有一个属性:值)

RKManagedObjectMapping *tagMapping = [[self class] objectMappingForClass:[Tag class] inManagedObjectStore:managedObjectStore];
    [tagMapping mapKeyPath:@"" toAttribute:@"value"];

RKManagedObjectMapping *newsMapping = [[self class] objectMappingForClass:[News class] inManagedObjectStore:managedObjectStore];
....
[newsMapping mapKeyPath:@"Tags" toRelationship:@"tags" withMapping:tagMapping];

现在...当 RestKit 解析和映射 News JSON 时,它会找到 tags 属性并构建具有正确值的 Tag 实体列表。它还将这个数组/集合链接到新闻中的标签关系。但是...我的 Tag 实体将新闻关系设置为 nil,因此它没有通过 CoreData 验证。如何建立反向关系?我尝试添加以下语句:

[tagMapping mapRelationship:@"news" withMapping:newsMapping];

但我得到了一个例外..

谢谢您的帮助!

4

0 回答 0