2013-01-10 9 views
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는 : 죄송합니다, 처음

답변

0

난 당신이

로 삼았 대신 "그림"의 여기 -

picturesMapping = [RKEntityMapping mappingForEntityForName:@"Pictures" inManagedObjectStore:self.objectManager.managedObjectStore]; 

패스 "사진을"잘못된 개체 이름을 전달 생각에 대한 잘못된 코드를 게시

picturesMapping = [RKEntityMapping mappingForEntityForName:@"Picture" inManagedObjectStore:self.objectManager.managedObjectStore]; 
+0

아니요, 엔티티의 이름은 'Pictures'입니다. (예, 바보 같은 이름입니다.) – Spail

+0

"엔터티 '그림'에는 NS 문자열 속성 'image_url' ". 하지만 여기 엔 엔티티가 '그림'이라고 말하는 것입니다. 그런 다음 엔티티 'Pictures'에 'image_url'속성이 있는지 확인하십시오. –

+0

엔티티 "Pictures"는 "image_url"속성을 가져야합니다. –