2012-06-13 2 views
1

RestKit을 현재 프로젝트에 통합하는 실험을하고 있습니다. 나는 형식으로 데이터를 검색하고 있습니다 :RestKit non-kvc 객체 매핑

[ 
    {"id":"1", 
    "name":"john"} 
    {"id":"2", 
    "name":"bob"} 
] 

RestKit wiki에서 우수한 튜토리얼에 따라, 내가 추천 볼 완전히 KVC 호환 형식은 다음과 같습니다

{"customers": [ 
    {"id":"1", 
    "name":"john"} 
    {"id":"2", 
    "name":"bob"} ] 
} 

가 그럼 난

을 사용할 수 있습니다
[mappingProvider setMapping:customerMapping forKeyPath:@"customers"]; 

불행히도 현재 서버의 데이터 형식을 제어 할 수 없습니다.

나중에 RestKit 위키에는 "KVC없이 매핑"이라는 내 문제를 해결하는 섹션이 있습니다. 나는 로딩 타임에 objectMapping을 객체와 연관 지을 것이다.

[objectManager loadObjectsAtResourcePath:@"/data" objectMapping:customerMapping delegate:self]; 

여기 내 문제가 있습니다. 위키는 0.9.3입니다. 그러나 이 메서드는 0.10.1에서 사용되지 않습니다. 예, 여전히 작동합니다 - 지금은.

이 방법이 더 이상 사용되지 않으며 데이터를 제어하지 않는다는 것을 명심해야합니다. KVC가 아닌 상황에서 클래스에 개체 매핑을 할당하는 적절한 방법은 무엇입니까? 위임 방법을 대체 할 블록을 사용, 자연,

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/data" usingBlock:^(RKObjectLoader* loader) { 
    [loader setObjectMapping:customerMapping]; 
}]; 

을 그리고 :

+0

여기 누군가가 훌륭한 답변을 드릴 수 있지만 기다리는 동안 RestKit 개발자 그룹 (https://groups.google.com/forum/#!forum/restkit)에서 검색하시는 것이 좋습니다 –

답변

3

이것에 대해 긍정적 아니라고하지만 그것은 블록의 지원에서 더 이상 사용되지 않습니다 생각 ...이 작동하지 않을 수 있습니다.

+0

좋은 점 ! 나는 이것을 발견하고 있었다. – jeswang

+0

감사합니다. 이것은 내가 실제로 찾고 있었던 것입니다. 블록을 사용하는 데 익숙해 져야합니다 ... – weissazool

+0

글쎄, 0.20.0 버전에서는 어떻게 할 수 있습니까? – jeswang