如何处理从NSURLConnection收到的数据

时间:2010-05-27 21:02:06

标签: objective-c nsurlconnection nsnotifications

我创建了一个扩展NSURLConnection的类MyConnection。我已经实现了一些委托方法。我能够打印从URL调用收到的数据。但是,当我将MyConnection实例传递给MyHelper类时,我没有收到MyConnection类中收到的数据。我尝试在两个任务之间打一个睡眠电话但仍然没有运气。 connectionDidFinishLoading委托方法仅在当前代码块完成后调用。有没有办法在不通知的情况下处理这个问题?

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

1 个答案:

答案 0 :(得分:2)

那是因为NSURLConnection(默认情况下)在当前的runloop 上异步处理(所以它不是异步的,因为它不使用辅助线程)。因此,您可以手动旋转runloop或使用sendSynchronousRequest:...方法。