[英]Restkit: Mapping an array to object
我的JSON看起来像这样:
[ [value1, value2, value3], [value1, value2, value3]]
我想遍历外部数组,并将每个内部数组映射到一个对象,例如:
@interface MyObject : NSObject
@property (nonatomic, copy) NSString* key1;
@property (nonatomic, copy) NSString* key2;
@property (nonatomic, copy) NSString* key3;
@end
对于示例JSON,我应该获得两个映射的对象,例如MyObject1,MyObject2,其中MyObject1映射到第一个内部数组,而MyObject2映射到第二个内部数组。 每个属性的属性都映射到数组中的相应值,即key1 == value1,key2 == value2和key3 == value3。
有什么想法可以做这样的映射吗?
我最终处理它的方法是向我的对象添加一个数组属性,然后将整个数组映射到该属性(在NSManagedObject子类的情况下为可转换属性)
RKEntityMapping *responseMapping = [RKEntityMapping mappingForEntityForName:@"MyObject" inManagedObjectStore:managedObjectStore];
[responseMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"values"]];
映射完成后,我在完成块中分配其余值:
^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
[mappingResult.array enumerateObjectsUsingBlock:^(MyObject *obj, NSUInteger idx, BOOL *stop) {
obj.key1 = obj.values[0];
obj.key2 = obj.values[1];
obj.key3 = obj.values[2];
}];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.