2
그래서 내가 직접 코어 데이터 엔티티 '항목'에 매핑이RestKit 0.20 NSCFConstantString valueForUndefinedKey 오류가 매핑 관계
{
"item_id": "0",
"product_id": "217",
"color_id": "55",
"size_id": "37",
"images": [
{
"image_url": "http://www.foo.com/bar.jpg"
}
]
},
처럼 보이는 객체와 JSON을지도하는 것을 시도하고있다. 이 엔티티는 '이미지'라는 엔티티 '그림'과 일대 다 관계를 맺습니다. 엔티티 '그림'에는 하나의 NSString 특성 'image_url'이 있습니다. 여기 내 매핑은 다음과 같습니다
- (void) setupPicturesMapping
{
picturesMapping = [RKEntityMapping mappingForEntityForName:@"Pictures" inManagedObjectStore:self.objectManager.managedObjectStore];
picturesMapping.identificationAttributes = @[@"image_url"] ;
[picturesMapping addAttributeMappingsFromArray:@[@"image_url"]];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:picturesMapping
pathPattern:@"get_pictures"
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[self.objectManager addResponseDescriptor:responseDescriptor];
}
- (void) setupItemsMapping
{
itemsMapping = [RKEntityMapping mappingForEntityForName:@"Item" inManagedObjectStore:self.objectManager.managedObjectStore];
itemsMapping.identificationAttributes = @[@"item_id"] ;
[itemsMapping addAttributeMappingsFromArray:@[@"item_id", @"product_id", @"color_id", @"size_id"]];
[itemsMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"images" toKeyPath:@"images" withMapping:picturesMapping]];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:itemsMapping
pathPattern:@"get_items"
keyPath:nil
statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
[self.objectManager addResponseDescriptor:responseDescriptor];
}
나는 오류가 발생하는 항목을로드하려고
: "응용 프로그램을 종료로 인해 캐치되지 않는 예외 'NSUnknownKeyException'이유로 '[< __NSCFConstantString 0x26f72b4> valueForUndefinedKey : ] :이 클래스는 키 image_url에 대해 키 값 코딩을 준수하지 않습니다. ' ".무엇이 문제입니까?
UPDATE는 : 죄송합니다, 처음
아니요, 엔티티의 이름은 'Pictures'입니다. (예, 바보 같은 이름입니다.) – Spail
"엔터티 '그림'에는 NS 문자열 속성 'image_url' ". 하지만 여기 엔 엔티티가 '그림'이라고 말하는 것입니다. 그런 다음 엔티티 'Pictures'에 'image_url'속성이 있는지 확인하십시오. –
엔티티 "Pictures"는 "image_url"속성을 가져야합니다. –