완료 블록 내에서 메소드를 실행하는 올바른 방법은 무엇입니까 (권장되는 경우라도). 지금은 정보가 성공적으로 검색되었는지 여부를 나타내는 완료 블록으로 정보를 다운로드하는 메서드를 호출하는 IBAction이 있습니다. 그럴 경우 해당 정보를 표시 할보기 컨트롤러를 밀어 넣으려고하지만 현재로서는 아무 것도 일어나지 않습니다. 나는블록 내부의 뷰 컨트롤러를 밀어 넣기
__weak YTTMSetupViewController *weakSelf = self;
[mc downloadJson:^(BOOL success) {
if(success){
NSLog(@"sucess. metric count - %i",(int)mc.collection.count);
//info was downloaded. Push new view controller with info
YTTMMetricTableViewController *mtvc = [self.storyboard instantiateViewControllerWithIdentifier:@"YTTMMetricTableViewController"];
mtvc.group = (WAGroup*)[[WAMetricCollection sharedInstance].collection lastObject];
mtvc.hidesBottomBarWhenPushed = YES;
[weakSelf.navigationController pushViewController:mtvc animated:YES];
}
else{
NSLog(@"failure");
//display failure UI
}
NSLog(@"end of downloading");
[HUD dismissAfterDelay:0.5f animated:YES];
}];
당신은 지연 0.0 초에 dispatch_asynch에서과 pushViewController 전화를 시도 할 수 있습니다. 일반적으로 작동합니다. – Dzmitry