gpt4 book ai didi

swift - 如何检查两个异步任务是否成功完成

转载 作者:可可西里 更新时间:2023-11-01 01:21:58 24 4
gpt4 key购买 nike

在函数中实现此流程图的最佳和最简单方法是什么?现在我正在使用两个调度组,但我需要检查它们是否都已完成,而不仅仅是它们何时完成。

如果他们完成了,那么:

  • friends 数组将包含元素
  • 昵称数组将包含元素

Flowchart

注:FB是Facebook,FIR是Firebase数据库

最佳答案

您可以使用 DispatchGroup 来做到这一点。尝试以下 Playground ;

import UIKitimport XCPlaygroundlet dispatchGroup = DispatchGroup.init()for index in 0...4 {    dispatchGroup.enter()    let random = drand48()    let deadline = DispatchTime.now() + random/1000    print("entered \(index)")    DispatchQueue.global(qos: .background).asyncAfter(deadline: deadline, execute: {        print("leaving \(index)")        dispatchGroup.leave()    })}dispatchGroup.notify(queue: .global()) {    print("finished all")}

应该输出类似的东西

entered 0leaving 0entered 1entered 2leaving 1leaving 2entered 3leaving 3entered 4leaving 4finished all

关于swift - 如何检查两个异步任务是否成功完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43362989/

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