哪一个使用NSOperation main()和start()方法

时间:2016-04-17 17:10:52

标签: cocoa cocoa-touch nsoperation

Apple文档

主要 -

  

对于非并发操作,通常只覆盖一个方法:

     

开始 -

  

将操作添加到操作队列时,队列会忽略该操作   异步属性的值,并始终调用start方法   从一个单独的线程。因此,如果您始终运行操作   将它们添加到操作队列中,没有理由制作它们   异步的。

如果我必须执行已经使用操作队列并且是异步的Alamofire代码。我应该在哪里编写代码(主要或开始)来调用Alamofire请求。?

2 个答案:

答案 0 :(得分:1)

也许我没有抓住你的答案,但是,如果你需要在自定义操作中包装Alamofire,你必须创建一个异步NSOperation

您可以在this Github repo找到一个很好的例子。

关键点是:

  • 覆盖返回asynchronous
  • true媒体资源
  • 覆盖start方法
  • 控制isExecutingisFinished属性以更改操作状态

答案 1 :(得分:-1)

您可以将MainStart同时作为一个行函数实现,每个函数调用MyRealProcessingFunction来完成您的实际工作。