NSOperation和NSInvocationOperation之间的区别?

时间:2012-10-16 06:41:33

标签: iphone ios ipad

1)我们在NSOperation中添加NSInvocationOperationNSoperationQueue时发生了什么?

2)NSoperationNSInvocationOperation之间有什么区别?

3)哪一个最好?

2 个答案:

答案 0 :(得分:11)

<强> 1。 NS操作与NSInvocationOperation的区别

NSoperation 对象是一个单击对象 - 也就是说,它执行一次任务,不能再用来执行它。

NSInvocationOperation 类是NSOperation的具体子类,它管理指定为调用的单个封装任务的执行。您可以使用此类来启动包含在指定对象上调用选择器的操作。该类实现了非并发操作。

2.我们在NSoperationQueue中添加NSOperation或NSInvocationOperation时发生了什么

您通常通过将操作添加到操作队列(NSOperationQueue类的实例)来执行操作。操作队列通过在辅助线程上运行它们或间接使用libdispatch库(也称为Grand Central Dispatch)来直接执行其操作

3.哪一个是最好的

我认为最佳这个词可能会根据您的情况而有所不同:)

答案 1 :(得分:0)

Cocoa Is My Girlfriend使用NSOperation和NSOperationQueue good tutorial。本教程利用NSOperation在不同的线程中同时下载多个网页。

同时查看此问题NSOperation on the iPhone