Runloopsについての私の理解は基本的なものなので、これは非常に些細な質問のように思えるかもしれません。
私のapplication:didFinishLaunchingWithOptions
(またはapplicationDidFinishLaunching
)には次のものがあります:
{
// 1. typical app setup work: create various views, create a tab bar, add
// navigation controller and views to the tab bar
// 2. perform some other app initialization tasks
// 3. Add main view to the window
[window addSubview:tabbarController.view];
// 4. Make window visible
[window makeKeyAndVisible];
// 5. Perform one final behind the scene task
[myTaskObject doSomeTaskHere];
}
これらの各メソッドは、リストされている順序で実行されますか、またはアプリのメイン実行ループがメインウィンドウを表示する作業を完了する前にステップ5が発生する可能性がありますか?'[window makeKeyAndVisible]'
runloopがウィンドウの表示を完了し、' 'が呼び出される前に最上位のビューであるビューをロードすることを保証するために、にラップするdoSomeTaskHere
必要がありますか?performSelectorOnMainThread:withObject:waitUntilDone:YES
doSomeTaskHere