0

RestKit 0.10.3에서는 대리자 메서드를 사용하여 각각의 매핑이 순차적으로 실행 되었더라도 동시 GET 요청을 보낼 수있었습니다. 나는 응답을 받기에 너무 많은 시간이 필요한 GET 요청을 가지고 있으므로 모든 요청을 동시에 보내고 있지만 매핑의 순서를 존중하고 싶습니다. (나는 세 가지 요청을 횡단하는 관계가 있습니다). 필요한 것 :RestKit 0.2x 동시 RKManagedObjectRequestOperation

1) GET 요청을 보내십시오. 1, GET 요청 n을 보냅니다. 2, GET 요청 n을 보냅니다. 응답 1의 매핑이 마무리 응답이 대기하고 지도 (또는 이미받은 경우 단지 매핑을 시작 했 때 3

2)

)) 즉시 응답 1

3

을 수신으로 요청 하나의 맵핑을 시작 응답 2의 매핑이 마무리 응답 3 기다린 지도 않았을 때 이미받은 경우

4) (또는

은 무엇 objectManeger에 operationQueue가 1로 설정되어 있지 않은 경우 (일어날 것) 매핑을 시작) :

1) GET 요청을 보내십시오. 1, GET 요청 n을 보냅니다. 2, GET 요청 n을 보냅니다. 3

2) 즉시 를 수신하고 이전 매핑

질문 1 끝난 후 응답을지도 :를이지도에서 주문을 존중하는 것이 가능하다?

질문 2 : 더 많은 응답 (2 점)의 매핑이 동시에 발생할 수 있습니까? 즉,이 가능성은 다음과 같습니다.

1) 보내기 GET 요청 n. 1, GET 요청 n을 보냅니다. 2

2) 2

4) 매핑 응답 1

5) 매핑 응답이 끝나는이 경우

단부 매핑 반응 시작) 매핑 응답 한

3 시작 가능하지 않다면, 나는 "절반"해결책을 갖게 될 것입니다 : willMapDeserializedResponseBlock에 각 요청을 대기열에 넣으십시오. 요청은 동시에 전송되지 않지만 적어도 이전 매핑 전에 각 요청을 보낼 수 있습니다.

질문 3 : 교차 관계의 양쪽에있는 entityMappings의 "addConnectionForRelationship"을 복제하면 세 가지 매핑이 동시에 실행되어야하며 순서는 더 이상 중요하지 않습니다. 이것은 사악한 행동 (중복 객체, 고아 객체, 누락 된 관계, 낮은 성과)을 생성하지 않고도 가능합니까 ??

나는 미친가요? : D

답변

0

데이터베이스에 기존 개체가없는 경우 백그라운드에서 여러 작업을 동시에 실행하면 다른 스레드의 여러 컨텍스트에서 중복을 방지하거나 연결을 시도하므로 문제가 발생할 수 있습니다.

2 개 개의 일반적인 솔루션은 다음과 같습니다 동시에

  • 다음 응답이 앞을 만든 스텁 객체의 모든 채울 적이 요청을 실행하고 그들에게
  • 경우를 관련이없는

    1. 순서가 명시 적으로 필요하면 AFNetworking을 사용하여 다운로드를 동시에 실행 한 다음 RestKit 매핑 작업을 응답 데이터와 함께 사용하고 이들 간의 종속성을 지정해야합니다.

    관련 문제