gpt4 book ai didi

ios - 使 NSOperations 互斥

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:52 25 4
gpt4 key购买 nike

请引用来自 WWDC 的视频 https://developer.apple.com/videos/play/wwdc2015/226/演讲者展示了我们可以在两个相同类型的 NSopeation 实例之间添加依赖关系。显示警报的 NSoperation 示例。通过实现这一点,我们可以确保我们不会同时抛出多个警报并惹恼用户。如果一个警报已经显示,下一个将等待。

我仍然无法弄清楚如何实现 NSOperations 跨队列的这种依赖性。用更简单的话来说,任何人都可以展示以下两件事的示例(实现)。

1.添加队列2的操作B对队列1的操作A的依赖的实现

2.实现添加相同 NSOperation 类型的多个实例的依赖,即使它们在不同的队列中。示例:如果我将“AlertOperation”的多个实例添加到不同的队列,我想确保它们仍然按顺序发生。

如果示例在 Objective C 中,我将不胜感激。如果需要,请要求更多说明。

最佳答案

我是主持该 session 的工程师。

简短的回答是,为了使您的第二个操作依赖于第一个操作,您必须维护对第一个操作的引用。

session 提供的示例代码使用一个全局表来跟踪所有当前正在执行的操作。 When a new operation comes in that specifies it should be mutually exclusive与其他同类操作,the code looks up in the table for the other operations of the same kind .然后新操作依赖于列表中的最后一个操作。

由于该表是全局表,因此无论操作实际在哪个队列上执行,它都能正常工作。它唯一需要的是使用自定义 NSOperationQueue 子类(“OperationQueue”)作为执行操作的对象。

关于ios - 使 NSOperations 互斥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com