【发布时间】:2011-12-19 04:33:22
【问题描述】:
我刚刚切换了我的应用程序以使用 NSOperationQueue 来管理下载队列。我在我的 NSOperation 子类中启动 NSURLDownloads,并处理它们的所有委托回调。但是,当我刚去测试它时,我发现没有调用任何委托方法。我在网上找到了一些关于 NSURLDownload 的已知问题的资料(我发现它只将委托消息发布到主线程),但 NSURLDownload 类参考说:
“请注意,这些委托方法是在为关联的 NSURLDownload 对象启动异步加载操作的线程上调用的。”
这让我觉得这个错误至少应该在 Lion 中得到修复。然而我正在运行 10.7.2,并且 NSURLDownload 对我来说绝对不正确。我在这里缺少什么吗?我没有在头文件中声明委托方法,但这应该没关系……是吗?
(我知道另一种方法是使用 NSURLConnection。但是,我真的希望能够使用 NSURLDownload 的下载进度功能。)
我将我的 NSOperation 子类设置为同时运行:我覆盖了 start 而不是 main。
在此先感谢您对此提供的任何帮助,
山姆
附:我也将其发布到 Apple 开发者论坛,希望更多人能看到它。
【问题讨论】:
标签: macos cocoa nsoperation