ios - 一个接一个地运行一个函数完成

标签 ios swift

我正在尝试在 pullData() 完成后运行 loadViews(),我想知道执行此操作的最佳方法是什么?我也想为其设置 10 秒的超时时间,这样我就可以在可能的情况下显示网络错误。根据我的阅读,GCD 看起来是实现此目的的方法,但我对它的实现感到困惑。感谢您提供的任何帮助!

//1
pullData()
//2
loadViews()

最佳答案

您需要的是带有完成 block 的完成处理程序。

创建一个非常简单:

func firstTask(completion: (success: Bool) -> Void) {
    // Do something

    // Call completion, when finished, success or faliure
    completion(success: true)
}

然后像这样使用你的完成 block :

firstTask { (success) -> Void in
    if success {
       // do second task if success
       secondTask()
    }
}

关于ios - 一个接一个地运行一个函数完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357807/

相关文章:

iphone - Xcode 中的代码签名错误

ios - 为什么我不能访问函数内部的 ViewController 变量 (Swift3)?

Swift:沿路径部分移动 UIImage

ios - 动画并从 SuperView 中删除 UIButton

ios - 仪器和堆增长,什么时候增长真的是泄漏?

ios - regiondidchange 在 app load swift 上多次调用

swift - NSURLSession 参数无法识别

swift - 无法在 UITextfield 上添加操作以查看 Controller

ios - 如何在iOS的OpenGL ES上下文中绘制轮廓文本?

ios - Xcode 7 Playground 错误 : invalid context 0x0