我创建了一个扩展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];
答案 0 :(得分:2)
那是因为NSURLConnection
(默认情况下)在当前的runloop 上异步处理(所以它不是异步的,因为它不使用辅助线程)。因此,您可以手动旋转runloop或使用sendSynchronousRequest:...
方法。