gpt4 book ai didi

swift - 使用 DispatchGroup 相对于基本计数器类的好处

转载 作者:行者123 更新时间:2023-11-30 10:25:07 26 4
gpt4 key购买 nike

我遇到一种情况,我需要等待一组任务完成才能执行某些 UI 渲染代码。

其中一些任务是网络请求,它们始终会完成并离开调度组。然而,有些不是网络请求,可能会也可能不会完成。如果一项任务未完成,并且离开的调用与进入的调用不平衡,则 DispatchGroup 永远不会被解除分配。

有没有办法使用 DispatchGroup 解决这个问题?或者我应该自己实现一个简单的计数器。

最佳答案

您仍然应该使用DispatchGroup,因为它不那么复杂且功能强大。DispatchGroup 的要点是在您执行的每个方法中添加一个 dispatchGroup.enter() ,您希望在执行 UI 更新之前首先完成该方法,它可以是任何方法,例如网络请求、对象更新等。每次完成时,无论成功与否,您都需要放置一个 dispatchGroup.leave() 来维持平衡,我确信dispatchGroup.notify 将被调用。

关于swift - 使用 DispatchGroup 相对于基本计数器类的好处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60095061/

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