loadShows是如何使用的?

时间:2016-05-10 03:31:57

标签: ios swift asynchronous

引用问题:https://stackoverflow.com/a/24725314/2909692,我有相同的应用程序要求,因为只有在从Web加载数据后才需要调用一系列方法。

我已经回顾并研究了答案(总结如下),但是不明白它是如何实现的,需要传递的参数是什么?

如何使用loadShows?

func application(application: UIApplication!, performFetchWithCompletionHandler completionHandler: ((UIBackgroundFetchResult) -> Void)!) {
    loadShows() {
        completionHandler(UIBackgroundFetchResult.NewData)
        println("Background Fetch Complete")
    }
}

func loadShows(completionHandler: (() -> Void)!) {
    //....
    //DO IT
    //....
    completionHandler()
})

1 个答案:

答案 0 :(得分:1)

func application中,您可以看到他们拨打loadShows()

但他们用尾随闭包

来称呼它
loadShows() {
    completionHandler(UIBackgroundFetchResult.NewData)
    println("Background Fetch Complete")
}

这意味着代码块:

{
    completionHandler(UIBackgroundFetchResult.NewData)
    println("Background Fetch Complete")
}

作为参数传递给loadShows()函数,在<{1}}代码的其余部分<{1}}之后执行 loadShows() {调用{1}}(在“DO IT”之后)。