我试图在pullData()完成后运行loadViews(),我想知道这样做的最佳方法是什么?我想在它上面设置10秒超时,如果可能的话我可以显示网络错误.从我所看到的,GCD看起来是实现这一目标的方式,但我对它的实现感到困惑.谢谢你提供的所有帮助!
//1 pullData() //2 loadViews()
解决方法
你需要的是一个带有完成块的完成处理程序.
创建一个非常简单:
func firstTask(completion: (success: Bool) -> Void) { // Do something // Call completion,when finished,success or faliure completion(success: true) }
并像这样使用你的完成块:
firstTask { (success) -> Void in if success { // do second task if success secondTask() } }