두 개의 개체를 매핑하는 데 RestKit .20을 사용하고 있습니다. 두 번째 객체는 첫 번째 객체에 따라 다릅니다. 따라서 첫 번째 작업은 두 번째 작업 전에 수행되어야합니다. 작업이 완료되면 컨트롤러는 모델 개체를 사용하여 테이블 뷰에 적절한 정보를 표시합니다.iOS : RestKit 작업 블록을 실행하고 싶지 않을 때
첫 번째 개체에는 URL 요청의 일부를 구성하는 데 사용되는 고유 한 ID가 있습니다.이 ID는 첨부 된 개체를 가져 오는 데 사용됩니다. 그것의 모든 작동 및 요청 정보를 얻고 있지만 올바르게 매핑 작업을 수행하는 모든 잘못된 및 나는 단지 주위에 내 머리를 얻을 수 없습니다!
이 나는 일이 원하는 것입니다 :
- 보기 부하를 첫 번째 객체를 매핑 /로드 시작합니다.
- 첫 번째 개체가로드되면 두 번째 개체가로드/매핑됩니다.
- 표보기가 새로 고침됩니다.
는 Heres는 어떻게되는지 :
- 보기로드 최대 부하 테이블보기를.
- 작업이 마지막으로 실행되고 블록 작업이 실행될 때마다 데이터가 다시로드됩니다. 원하는 솔루션이 아니라 작동시킬 수있는 유일한 방법입니다.
그것의 하드 나를 위해 그렇게 heres는 몇 가지 코드를 설명하기 :
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadFirstObjects];
//omitted code
}
- (void)loadFirstObjects {
//omitted code
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
self.pubRepos = mappingResult.array;
[self loadSecondaryObjects];
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"ERROR: %@", error);
}];
[operation start];
}
- (void)loadSecondObjects
{
for (FirstObject *firstObject in firstObjects) {
//Omitted code
[operation setCompletionBlockWithSuccess:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
SecondObject *secondObject = [mappingResult.array objectAtIndex:0];
[secondObjects setObject:secondObject forKey:secondObject.idNum];
[table reloadData];
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
NSLog(@"ERROR: %@", error);
}];
[operation start];
}
}
그래서 어떻게이 내가 원하는대로 작동받을 수 있나요 (I 유엔 관련 코드를 할당한다 생략했습니다)? 요청/매핑을 먼저 수행 한 다음 모든 정보를 테이블에로드하고 업데이트 할 수 있기를 원합니다. 필자는 테이블을 다시로드하는 것과는 별도로 웹 서비스의 새 데이터를 지속적으로 다시로드하거나 매핑해야합니다.
그래서 가장 큰 질문은 다음과 같습니다. 작동 블록이 언제 실행되는지 정확히 제어하려면 어떻게해야합니까?
"나는 중학교 아이오와 프로그래머이므로 놀아주세요.".... 경고 또는 요청 .. LOL ..! –
나쁜 "stackoverflow 에티켓"에 용서를 요청하십시오 : D : D – leewaa