こんにちは、私がやろうとしていることが可能かどうかを知るために、いくつかのアドバイスが必要です。
私はこのデータモデルを持っています:
@interface Accommodation : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * AccommodationId;
@property (nonatomic, retain) NSSet *photo_set;
そして、次のJsonフラッド(Djangoによって生成された)を受け取ります:
[
{
"pk": 13570,
"model": "catalog.accommodation",
"fields": {
"thematics": [
3,
15,
48,
61
],
"code": "code_acc_12",
"booking_url": null,
"photo_set": [
{
"pk": 58346,
"model": "gallery.photo",
"fields": {
"url": "http:www.google.com",
"type": "main",
"label": ""
}
}
],
}
}
]
fields.photo_set を photo_set にマップしようとすると:
[accommodationMapping mapRelationship:@"fields.photo_set" withMapping:photoMapping];
私は有名なものを手に入れます:
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Accommodation 0x5c6afa0> valueForUndefinedKey:]: the entity Accommodation is not key value coding-compliant for the key "AccommodationId".'
私の質問は、「私がやろうとしていることは可能ですか??」です。
ご協力ありがとうございました !
PS:これらは私のマッピングルールです:
RKManagedObjectMapping* photoMapping = [RKManagedObjectMapping mappingForClass:[Photos class] ];
photoMapping.primaryKeyAttribute = @"PhotoId";
[photoMapping mapKeyPath:@"pk" toAttribute:@"PhotoId"];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:photoMapping];
RKManagedObjectMapping* accommodationMapping = [RKManagedObjectMapping mappingForClass:[Accommodation class]];
accommodationMapping.primaryKeyAttribute = @"AccommodationId";
[accommodationMapping mapKeyPath:@"pk" toAttribute:@"AccommodationId"];
[accommodationMapping mapKeyPath:@"fields.code" toAttribute:@"code"];
[accommodationMapping mapRelationship:@"fields.photo_set" withMapping:photoMapping];
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:accommodationMapping];