我在restkit中关系映射存在一个小问题。 我的模型中有如下关系:
新闻< - >>标签
在coredata中,我将其映射为:
新闻:标签 - > to-many,optional
标签:新闻 - > to-one,required。
现在......我有一个类似以下的JSON:
{
"news" : {
"attr1" = "...",
"tags" = ["tag1, "tag2, ...]
}
}
我以这种方式设置我的映射(顺便说一下:我的Tag实体只有一个属性:value)
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];
但我得到了一个例外......
感谢您的帮助!