【发布时间】:2013-05-24 04:02:47
【问题描述】:
我有一个应用程序正在从 Flickr 下载几张照片。现在,所有照片都是通过在NSOperationQueue 上运行的自定义NSOperation 类下载的。但是,我听说NSUrlConnection 异步更有效,想知道哪种情况更好?或者,有没有比这两个更好的第三种选择?
自定义NSOperation 只是在不同的照片上多次调用[NSData dataWithContentsOfURL:]。
【问题讨论】:
-
我都做了。吞吐量相当,
NSOperation方法更简单、更优雅。话虽如此,在不知道自定义NSOperation的作用的情况下很难评估它的效率。第三种选择是像AFNetworking这样的杠杆框架。 -
如果我们在推荐第三方网络库,有AFNetworkKit值得考虑。
-
@CouchDeveloper AFNetworkKit?你的意思是
MKNetworkKit?关于 OP 的问题,我喜欢AFNetworking为网络操作创建专用线程的事实,而不是MKNetworkKit所做的,即将网络操作添加到主队列。在大多数情况下,它们应该是等价的,但网络线程的隔离似乎是谨慎的。 -
我同意@Rob 的观点,AFNetwork 似乎更可取,因为用户在加载过程中会坐在那里一段时间,我需要在主线程上运行 MBProgressHUD。
标签: ios objective-c asynchronous nsurlconnection nsoperation