我对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];
但我得到了一个例外..
谢谢您的帮助!