2014-11-11 9 views
5

jak wywołać procedurę obsługi zakończenia dla pobierania w tle w Swift. Wykonuję następujące czynności:Jak wywołać metodę completionHandler dla performFetchWithCompletionHandler w Swift

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

    // Do something 

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

    return 

} 

Czy możesz mi pomóc? Dzięki,

Tobi

Odpowiedz

6

Sprawa enum jest UIBackgroundFetchResult.NoData, więc poprawny sposób to:

completionHandler (UIBackgroundFetchResult.NoData) 

lub nawet:

completionHandler (.NoData) 

ponieważ typ można wywnioskować z podpisem zamknięcia

Podpowiedź: gdy nie masz pewności co do podpisu funkcji lub wyliczenia sprawy, itp., w Xcode wpisz typ, w tym przypadku UIBackgroundFetchResult, a następnie cmd + kliknij go, aby przejść do definicji, lub opcję + kliknij, aby otworzyć okno z deklaracją. To zwykle bardzo pomaga.

+1

Och, człowiek w dokumentacji wyglądał tak, jakby skrzynki były używane bez wskazania. Dziękuję Ci! –

Powiązane problemy