私はiOSでスレッドを行うのが全く新しいです。次のように私は、タブとタブバーベースのアプリケーションを持っている:だけinitメソッドで多額のWebサービス呼び出しを持っているselectedSegmentIndex
applicationDidFinishLaunchWithOptions内のdispatch_async呼び出しが期待通りの動作をしません。
- ホーム画面を
[self doLoadData]
- つこの目的のため、私は先に行くと、私は実際に
tabBarController.selectedSegmentIndex = 1
を呼び出す前に、そのinit
メソッドを呼び出したい
のために重要ではありません他の画面。だから、私は私のapplicationDidFinishLaunching
でこれをやった:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [Constants configureApp];
self.window.rootViewController = self.navigationController;
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[[[tabBarController viewControllers] objectAtIndex:1] topViewController] init ];
[self.window addSubview:tabBarController.view];
[self.window makeKeyAndVisible];
});
これの動作は、それは一種のそれことで動作しないことです:
- 表示スプラッシュDefault.png
- は白を表示しますscreen
- 最後に、tabBarControllerでMainWindowを表示します。
私はそれがすべて間違っていることを知っているので助けてください!