希望标题描述正确。
我得到以下 JSON:
{"regions":[{"name":"Region 1", "zipcodes":["80432", "80433"]}, ...]}
我有两个实体Region
和ZipCode
:
@interface Region : NSManagedObject
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *zipCodes;
@end
@interface ZipCode : NSManagedObject
@property (nonatomic, retain) NSString * zipCode;
@property (nonatomic, retain) Region *region;
@end
我尝试使用以下代码填充两者:
RKEntityMapping *regionMapping = [RKEntityMapping mappingForEntityForName:@"Region" inManagedObjectStore:managedObjectStore];
//[regionMapping addConnectionForRelationship:@"zipCodes" connectedBy:@{@"zipCode" : @"zipcodes"}];
[regionMapping addAttributeMappingsFromDictionary:@{@"name":@"name"}];
RKResponseDescriptor *regionDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:regionMapping pathPattern:@"/regions" keyPath:@"regions" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[objectManager addResponseDescriptor:regionDescriptor];
如您所见,我也尝试使用addConnectionForRelationship: connectedBy:
我在这个答案中看到的,但没有成功。我想我必须创建一个单独RKEntityMapping
的 forZipCode
但我不知道如何将它与我现有的代码粘合在一起,而不会重载RKResponseDescriptor
.
你们中有人处理过类似的情况吗?你是怎么解决的?上面链接中的示例非常相似,但不幸的是,发布的解决方案非常不完整。
注 1:现有代码写入name
我的数据库,但不会与我的数据库建立任何关系,ZipCode
也不会将任何邮政编码写入我的数据库
注意 2:我使用的是最新的 RestKit 版本(0.20pre)
注3:你可以在这里救我的命;)
提前谢谢了!