很抱歉打扰另一个 NSURLConnection 问题,在这里已经增加了一千多个。
场景如下。在使用动态加载的增强现实功能的 iPhone 应用程序中,会提示用户下载新的 AR 模型,因为这些模型可用。模型可能有几 MB 大,因此在决定下载之前,应向用户指示要下载的所有模型的总大小。
为了找出每个文件有多大,我想使用异步 NSURLConnection,但是一旦我得到响应([NSURLResponse expectedContentLength])就停止下载。我可以在委托的 connection:didReceiveResponse: 方法中执行此操作。
我的问题是,我怎样才能等到这种情况出现?如何设置 NSURLConnection,让它异步启动,然后等到 connection:didReceiveResponse: 方法被调用?我尝试使用 NSCondition,在设置 NSURLConnection 并在 connection:didReceiveResponse: 方法中发出条件信号后让它等待。但这所做的只是冻结了主线程。有任何想法吗?