NSOperation和NSInvocationOperation之间的区别?
1)当我们在NSoperationQueue
添加NSOperation
或NSInvocationOperation
时会发生什么?
2) NSoperation
和NSInvocationOperation
什么区别?
3)哪一个最好?
1. NS操作和NSInvocationOperation之间的区别
NSoperation对象是单击对象 – 也就是说,它执行一次任务,不能再用于执行它。
NSInvocationOperation类是NSOperation的具体子类,它管理指定为调用的单个封装任务的执行。 您可以使用此类来启动包含在指定对象上调用选择器的操作。 此类实现非并发操作。
2.当我们在NSoperationQueue中添加NSOperation或NSInvocationOperation时发生了什么
您通常通过将操作添加到操作队列(NSOperationQueue类的实例)来执行操作。 操作队列通过在辅助线程上运行它们直接执行其操作,或间接使用libdispatch库(也称为Grand Central Dispatch)执行其操作
哪一个是最好的
我觉得Best这个词可能因你的情况而有所不同:)
Cocoa Is My Girlfriend有关于使用NSOperation和NSOperationQueue的好教程 。 本教程利用NSOperation在不同的线程中同时下载多个网页。
另外,请参阅Mac Research的这篇文章 。 这里有另一个教程。
另请在iPhone上查看此问题NSOperation