【发布时间】:2016-03-02 07:18:22
【问题描述】:
请参考来自 WWDC 的视频https://developer.apple.com/videos/play/wwdc2015/226/ 演讲者表明我们可以在两个相同类型的 NSopeation 实例之间添加依赖关系。显示警报的 NSoperation 示例。通过实现这一点,我们可以确保我们不会同时发出多个警报并惹恼用户。 如果已显示一个警报,则下一个警报将等待。
我仍然无法弄清楚如何实现 NSOperations 跨队列的这种依赖关系。用更简单的话来说,任何人都可以展示以下两件事的示例(实现)。
1.实现将队列2中的操作B添加到队列1中的操作A上。
2.添加相同NSOperation类型的多个实例的依赖的实现,即使它们在不同的队列中。示例:如果我将多个“AlertOperation”实例添加到不同的队列中,我想确保它们之间仍然按顺序发生。
如果示例是在 Objective C 中,我将不胜感激。 如果需要,请要求更多说明。
【问题讨论】:
-
解释你的不同队列的用途。它们是如何以及何时创建的以及添加的操作?
-
队列的目的可以是任何东西。关键是,在我上面提到的 WWDC 视频中,我可以在不同的队列中进行警报操作并使它们相互依赖。现在,如果来自队列 1 的警报操作已经显示警报,那么我希望来自队列 2 的警报操作等待显示,直到第一个警报操作结束(即解除警报)。这将确保当用户在他正在查看的屏幕上已经有一个警报时,我不会弹出另一个警报。
-
我认为在它们之间添加依赖关系会给您带来一些问题?
-
不完全是。问题是如何在来自不同队列的 nsoperation 之间添加依赖关系。就像我在上面的主要问题中举例说明的那样。
-
当你在它们之间添加依赖时发生了什么?
标签: ios nsoperation nsoperationqueue