Делает-dataWithContentsOfURL: из NSData работают в фоновом потоке?
Нет, это не так.
Чтобы получить данные из URL асинхронно, вы должны использовать подход NSURLRequest
и NSURLConnection
.
Вам нужно будет реализовать методы NSURLConnectionDelegate
:
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data;
-(void)connectionDidFinishLoading:(NSURLConnection *)connection;
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error;
Нет, текущий поток блокируется.
Для асинхронных запросов необходимо использовать NSURLConnection
.