2016-05-10 11 views
-1

質問:https://stackoverflow.com/a/24725314/2909692を参照すると、Webからデータが読み込まれた後にのみ、一連のメソッドを呼び出す必要があるという点で同じアプリケーション要件があります。loadShowはどのように使用されますか?

私は(以下で総括して)答えを見直して調査しましたが、実装方法を理解していない、渡す必要があるパラメータは何ですか?

loadShowsはどのように使用されますか? func application

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

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

答えて

1

あなたは彼らがloadShows()を呼び出すことがわかります。

しかし、彼らは末尾の閉鎖でそれを呼び出す:

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

loadShows()関数の引数、およびこのブロックとして渡されます。それは、コードのブロックがあることを意味

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

loadShows()のコードloadShows()completionHandler()が呼び出されたときに(0123)、loadShows()コードの後に​​の後にが実行されます( "DO IT"の後)。

関連する問題