swift - 等待完成再执行下一步

标签 swift

我有几个进程需要在我的 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/

相关文章:

ios - Nearby 几秒钟后在后台进入休眠模式

ios - 如果我们从 segue 获取数据,如何在填写文本字段后启用按钮

ios - 以 MB 为单位的 ByteCountFormatter,结果以逗号 (,) 而不是点 (.)

Swift - 禁用辅助功能画外音?

ios - 拍摄 AGSMapView 的快照

arrays - 如何在 Swift 中找到二维数组中所有元素的总和?

swift - 如何从 WatchOS 中的 SwiftUI 列表中删除分隔符?

ios - Swift 未发现任何蓝牙设备

快速 TableView 不填充

ios - 向群组 channel 中的特定 channel 发送消息时,PubNub 功能不起作用?