gpt4 book ai didi

swift - 在方法内部执行完成之前等待不可预测的数据

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

我有一个函数可以完成一些工作并调用完成。像这样的事情

func doStuff(completion: (Bool) -> ()) {
performWork()
completion(true)
}

问题在于,performWork 触发了一些在其他方法中接收结果的进程。根据这个结果,我需要根据先前方法的数据成功或失败地调用completion

有什么可行的解决办法吗?方法doStuff无法修改,我无法访问第三方的performWork(),只能调用它。

最佳答案

您应该将completion保存在类范围内的变量中,并在API的委托(delegate)方法中执行它。

var doStuffCompletion: (Bool) -> ()!

func doStuff(completion: (Bool) -> ()) {
performWork()
doStuffCompletion = completion
}

func apiStuffFinished(success: Bool) {
doStuffCompletion(success)
}

关于swift - 在方法内部执行完成之前等待不可预测的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47794733/

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