我在这里显示了一个核心数据关系映射:
这个 JSON:
{
user: {
rid: '1234'
providers: {
[
foursquare: {
rid: '1234'
},
facebook: {
rid: '1234'
}
]
}
}
使用此映射:
RKEntityMapping *foursquareProviderMapping = [RKEntityMapping mappingForEntityForName:@"FoursquareProvider" inManagedObjectStore:managedObjectStore];
foursquareProviderMapping.identificationAttributes = @[@"rid"];
[foursquareProviderMapping addAttributeMappingsFromArray:@[@"rid"]];
RKEntityMapping *facebookProviderMapping = [RKEntityMapping mappingForEntityForName:@"FacebookProvider" inManagedObjectStore:managedObjectStore];
facebookProviderMapping.identificationAttributes = @[@"rid"];
[facebookProviderMapping addAttributeMappingsFromArray:@[@"rid"]];
RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"User" inManagedObjectStore:managedObjectStore];
userMapping.identificationAttributes = @[@"rid"];
[userMapping addAttributeMappingsFromArray:@[@"rid"]];
[userMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"providers.foursquare" toKeyPath:@"providers" withMapping:foursquareProviderMapping]];
[userMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"providers.facebook" toKeyPath:@"providers" withMapping:facebookProviderMapping]];
这会导致 toKeyPath:@"providers" 的多键路径映射错误
有没有正确的方法来映射这个?如果需要更改 JSON,我可以完全控制它。