【发布时间】:2016-07-14 07:51:33
【问题描述】:
我有一个 UITableView,当单元格出现时,我会从远程服务器上一一下载数据。
每个单元创建一个 NSOperationQueue 是否安全?我担心这可能会引发线程爆炸(如果线程太多)。 每个单元实例都有 NSOperationQueue 更容易开发,因为一旦单元被重用,我可以取消对 NSOperationQueue 的所有操作。
相反,如果我为每个 UIViewController 使用一个 NSOperationQueue,那么我可以将 NSOperationQueue 传递给单元,并且单元可以将其 NSOperation 添加到该队列中。但是,我需要以某种方式进行处理,以便在单元格被重用时取消该操作(将对 NSOperation 的引用存储在 UIViewController 内的字典中等)。
大多数教程在 UIViewController 中都有一个 NSOperationQueue,但我见过一个他为每个单元格使用一个 NSOperationQueue。
【问题讨论】:
-
最好的例子 developer.apple.com/library/ios/samplecode/LazyTableImages/… 由 Apple 跟随它。
-
嘿@MikeAlter 你还有其他原因吗,不仅仅是因为Apple示例代码使用了这种方法,或者其他教程也使用了这种方法?谢谢
-
我已经实现了那个例子,ws调用和图片下载的方式很棒而且性能友好
标签: ios uitableview concurrency nsoperation nsoperationqueue