我有几个进程需要在我的 TableView 加载时按顺序完成。我希望它会等到代码完成后再执行下一行代码,但似乎并非如此。有没有办法让这些等到完成后再执行下一步?
override func viewDidLoad() {
super.viewDidLoad()
performTask1()
performTask2()
performTask3()
}
感谢大家的帮助!
最佳答案
使这些方法中的每一个都采用completionHandler
参数的典型示例,例如:
func perform1(completionHandler: () -> Void) {
doSomethingAsynchronously() {
completionHandler()
}
}
func perform2(completionHandler: () -> Void) {
doSomethingElseAsynchronously() {
completionHandler()
}
}
func perform3(completionHandler: () -> Void) {
doSomethingCompletelyDifferentAsynchronously() {
completionHandler()
}
}
然后你可以像这样运行它们:
override func viewDidLoad() {
super.viewDidLoad()
perform1 {
self.perform2 {
self.perform3 {
}
}
}
}
关于swift - 等待完成再执行下一步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753384/