如何在Swift中为performFetchWithCompletionHandler调用completionHandler

时间:2014-11-11 19:50:36

标签: swift uiapplication

如何在Swift中为完成后台提取调用完成处理程序。我做了以下事情:

func application(application: UIApplication,
    performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {

    // Do something

    completionHandler (UIBackgroundFetchResultNoData) // This does not work :(

    return

}
你能帮帮我吗?谢谢,

托比

1 个答案:

答案 0 :(得分:7)

枚举案例为UIBackgroundFetchResult.NoData,所以正确的方法是:

completionHandler (UIBackgroundFetchResult.NoData)

甚至:

completionHandler (.NoData)

因为可以从闭包签名中推断出类型

提示:当不确定函数签名或枚举情况等时,在Xcode中写入类型,在本例中为UIBackgroundFetchResult,然后cmd +单击它以转到定义,或者选项+单击弹出宣言。这通常有很大帮助。