Я пытаюсь создать асинхронный вызов, синхронный. Я знаю, что это не лучшая идея. Но мне нужен такой код для обработки Auth Challenge самоподписанного сертификата, сохраняя при этом вызов еще синхронным.NSURLConnection, создающий Asynch, вызывает синхронизацию и обрабатывает самоподписанный сертификат
Но, я не уверен, является ли это идеальным способом заставить Asycnh назвать синхронный.
-(NSData*) startConnection{
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
while(!isFinished && [[NSRunLoop currentLoop] runMode: NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]){
}
return responseAppData;
}
- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
//Code to handle Certificate
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
[responseAppData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
isFinished=YES;
}
Я также думал об использовании цикла while, как показано ниже, и какой из них следует использовать?
while(!isFinished){
}
лучший способ заключается в использовании блок кодирования –