有没有办法在运行时创建NSoperation
并将其作为依赖项添加到正在进行且已处于执行状态的操作中?
如果没有,是否有其他替代方法可以实现这一目标?
例如(我需要的用例):
根据服务器的响应,我想发起一个新的NSOperation
,而Web服务本身是由连接操作(已经在进行中)驱动的。
现在我希望连接操作仅在此响应驱动NSOperation
完成后完成。
我从中获取代码的参考:
https://developer.apple.com/sample-code/wwdc/2015/
示例代码:高级NSOperations
注意:
一个选项是,我总是可以将此NSOperation添加为依赖项,如果响应中没有响应,则调用finish。但是,我的观点是,如果我没有得到回应,我根本不想调用该操作。
另一种选择是让此Connection操作等到该操作完成,然后调用此响应驱动NSOperation
的finish()(这是实现解决方案的间接方式)。
我试图在运行时执行它的原因是我希望包含NSOperation
的模块可以从我的项目中插入。什么时候我不想要模块..我将删除文件,它不应该影响系统。
只是想知道是否有人遇到过相同的情况。
答案 0 :(得分:0)
您无法将依赖项附加到运行NSOperations,即使可以,也不会做太多。依赖关系阻止他们的NSOperation开始,直到所有这些都完成,在操作已经开始之后,他们没有任何意义。
对不起,我不明白你的用例。你能澄清一下你的"连接操作"是吗?此外,在为其附加新依赖项时,您会发生什么?它应该停止运行吗?