我正在使用异步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的这种奇怪行为吗?