코어 데이터 지속성이있는 RestKit을 사용하는 iOS 앱이 있습니다. 몇 개의 다른 종단점에서 데이터를로드하며, 대부분은 완벽한 객체 그래프를 중첩 된 JSON 객체로 반환합니다. 그러나 끝점 중 하나는 다른 끝점의 데이터에 외래 키 참조 (중첩 된 JSON 아님)가 들어있는 객체를 반환합니다. 환언RKObjectManager/AFHTTPClient 요청 순서 유지
(약칭 함)과 관련 Post
Comment
엔티티 등 적절한 관계로 설정되어
[postMapping addAttributeMappingsFromArray:@[ @"postID", ... ]];
// ...
[commentMapping addAttributeMappingsFromArray:@[ ... ]];
[commentMapping addConnectionForRelationship:@"post" connectedBy:@"postID"];
. 이 을해야하지만 요청하는 경우 게시물을 가져올 수 전에으로 댓글을 가져올 수있는 요청을 완료로
이 모든 정확히 작동합니다. 그렇지 않으면 게시물이 가져 오지 않았고 아직 매핑되지 않았기 때문에 댓글이 게시물에 연결되지 않습니다.
지금 당장 게시물을 가져올 때까지 주석을 가져 오지 않고 처리하고 있습니다. 비슷한 것
- (void)fetchPosts {
[objectManager getObjectsAtPath:@"/posts.json"
parameters:nil
success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
[self fetchComments]; // *now* we can fetch comments
// ...
그러나 더 좋은 방법이 있는지 궁금한가요?
은 내가
[objectManager.HTTPClient.operationQueue setMaxConcurrentOperationCount:1];
하지만 대부분의 시간, 나는 동시 요청을하고자 할 뭔가를 할 수 있습니다 그림. 순차적이어야하는 두 가지 요청 만 있습니다.
나는 두 개의 서로 다른 개체 관리자 (순차적 요청을하는 개체 관리자와 동시 개체 개체 관리자를 동시에 설정할 수 있음)를 설정할 수 있다고 생각하지만, 그 점이 맞는지 잘 모르겠습니다.
그래서 두 개의 특정 -getObjectsAtPath:...
요청을 순차적으로 처리해야하며 다른 모든 요청은 순차적으로 처리해야한다고 지정하는 방법이 있습니까?
감사합니다. 내일 알려 드리겠습니다. 그래도 괄호 안의 마지막 질문에 대한 질문 : 현재 나는 3 개의 다른 URL에서 데이터를로드하는 1 개의 개체 관리자 만 가지고 있지만 그게 맞지 않다고 말하는가? 나는 RestKit (그리고 그 문제에 대한 핵심 데이터)에 익숙하다. 그래서 내가 지금까지 아무 것도 가지고 있지 않다면 단서를 얻지 못했다. - 그것이 작동하는 것만 제외하면 :) – Flambino
그것은 좋은 것처럼 들린다. 여러 서버에서 세부 정보를 얻고있었습니다. 하나의 기본 URL은 일반적으로 하나의 객체 관리자를 의미합니다 (단단한 요구 사항은 아니지만). – Wain
Gotcha. 그래, 그것은 하나의 기본 URL 그래서 내가 바로 그 부분을 가지고있는 것 같네요 :) – Flambino