대개 간단한 질문이지만 완료 블록은 항상 을 사용하여 호출 할 예정입니까? 또는 시간 초과 타이머를 구현해야합니까?[NSURLConnection sendAsynchronousRequest : ...] 항상 완료 블록을 보냅니 까?
[self showHUDWithTitle:@"Configuring"];
[NSURLConnection sendAsynchronousRequest:request
queue:[[NSOperationQueue alloc] init]
completionHandler:^(NSURLResponse *response,
NSData *data,
NSError *error) {
if ([data length] >0 && error == nil) {
[self hideHUDWithFlag:YES
andTitle:@"Finished"
andSubtitle:@"(Box was configured)"];
} else if ([data length] == 0 && error == nil) {
[self hideHUDWithFlag:NO
andTitle:@"Failed"
andSubtitle:@"(Check box connection)"];
NSLog(@"Nothing was downloaded.");
} else if (error != nil) {
[self hideHUDWithFlag:NO
andTitle:@"Error"
andSubtitle:@"(Check box connection)"];
NSLog(@"Error = %@", error);
}
}];
자연스럽게. 완료 핸들러는 성공 핸들러가 아닌 COMPLETION 핸들러입니다. D –
@ Daij-Djan 저는 성공 처리자이지 완성을 완료 한 완성자가 아닙니다! – Groot
if (! error) = 성공 : D –