2010-05-27 2 views
0

Я создал класс MyConnection, который расширяет NSURLConnection. Я реализовал некоторые методы делегата. Я могу распечатать данные, полученные от вызова URL. Однако, когда я передаю экземпляр MyConnection в класс MyHelper, я не получаю данные, полученные в классе MyConnection. Я попробовал поставить вызов сна между двумя задачами и до сих пор не повезло. connectionDidFinishLoading delegate method вызывается только после завершения текущего блока кода. Есть ли способ справиться с этой проблемой без уведомления?Как обрабатывать данные, полученные из NSURLConnection

MyConnection *con = [[MyConnection alloc] init];  
[con fetchDataFromServer]; 
//sleep call here 
MyHelper *myHelper = [[MyHelper alloc ] initWithConnection:con]; 
[myHelper processDataFoundInConnection]; 

ответ

2

Это потому, что NSURLConnection (по умолчанию) процессы асинхронно на текущем runloop (так что это не асинхронный в том, что он не использует вторичный поток). Таким образом, вы можете либо запустить runloop вручную, либо использовать метод sendSynchronousRequest:....

Смежные вопросы