SWIFT-防止同时调用同一函数

时间:2018-10-08 16:16:47

标签: swift

我有一个应用程序,其中主UI等待更新之前进行一些计算。整个应用程序仅取决于用户与wifi的连接,因为我们正在进行任何api调用来计算数据。有时,在RARE条件下,运行所有内容的函数都会执行两次……导致更新后的UI显示无效数据。

有什么方法可以防止这种情况发生?抱歉,我没有显示代码,因为它更容易解释这个概念。

编辑:要重现此错误,这是我要做的。下面的伪代码

override func viewDidLoad() {
    mainCall()
}


override func viewWillAppear(_ animated: Bool) {
    mainCall()
}


func executeOne(){
    callA(){}
    callB(){}
    etc...
}

1 个答案:

答案 0 :(得分:0)

您可以使用bool变量来指示API调用是否已经在进行中,并且仅在另一个调用不在进行中时才触发API调用。

into file('target')