【发布时间】:2012-09-27 20:24:46
【问题描述】:
很抱歉又打扰了另一个 NSURLConnection 问题,这里已经增加了一千多个。
场景如下。在使用动态加载的增强现实功能的 iPhone 应用程序中,会提示用户下载新的 AR 模型,因为这些模型可用。模型可能有几 MB 大,因此在决定下载之前,应向用户指示要下载的所有模型的总大小。
要了解每个文件有多大,我想使用异步 NSURLConnection,但在收到响应后停止下载([NSURLResponse expectedContentLength])。我可以在委托的连接中执行此操作:didReceiveResponse: 方法。
我的问题是,我怎样才能等到这种情况出现?如何设置 NSURLConnection,让它异步启动,然后等到 connection:didReceiveResponse: 方法被调用?我尝试使用 NSCondition,在设置 NSURLConnection 并在 connection:didReceiveResponse: 方法中发出条件信号后让它等待。但这所做的只是冻结了主线程。有什么想法吗?
【问题讨论】:
标签: iphone objective-c ios nsurlconnection nscondition