GCD с NSURLConnection
Я используюGCD
отправлятьHTTP
запрос асинхронно. Вот код, который не работает:
dispatch_async(connectionQueue, ^{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:someURL]]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];//Not working
});
приведенный выше код не работает вообще. Я не получаю никакого обратного вызова в методах NSURLConnectionDelegate.
Но когда я попробовал следующий код, все работало нормально, и я получил правильные обратные вызовы
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:someURL]]];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
dispatch_async(connectionQueue, ^{
[connection start]; // working fine. But WHY ????
});
Кто-нибудь может объяснить это странное поведение блока / GCD?