高级NSOperation - 在运行时添加依赖项

时间:2015-10-13 10:44:58

标签: ios swift dependencies nsoperation

有没有办法在运行时创建NSoperation并将其作为依赖项添加到正在进行且已处于执行状态的操作中?

如果没有,是否有其他替代方法可以实现这一目标?

例如(我需要的用例):

根据服务器的响应,我想发起一个新的NSOperation,而Web服务本身是由连接操作(已经在进行中)驱动的。

现在我希望连接操作仅在此响应驱动NSOperation完成后完成。

我从中获取代码的参考:

https://developer.apple.com/sample-code/wwdc/2015/

示例代码:高级NSOperations

注意:

  1. 一个选项是,我总是可以将此NSOperation添加为依赖项,如果响应中没有响应,则调用finish。但是,我的观点是,如果我没有得到回应,我根本不想调用该操作。

  2. 另一种选择是让此Connection操作等到该操作完成,然后调用此响应驱动NSOperation的finish()(这是实现解决方案的间接方式)。

    < / LI>
  3. 我试图在运行时执行它的原因是我希望包含NSOperation的模块可以从我的项目中插入。什么时候我不想要模块..我将删除文件,它不应该影响系统。

  4. 只是想知道是否有人遇到过相同的情况。

1 个答案:

答案 0 :(得分:0)

您无法将依赖项附加到运行NSOperations,即使可以,也不会做太多。依赖关系阻止他们的NSOperation开始,直到所有这些都完成,在操作已经开始之后,他们没有任何意义。

对不起,我不明白你的用例。你能澄清一下你的&#34;连接操作&#34;是吗?此外,在为其附加新依赖项时,您会发生什么?它应该停止运行吗?