iPhoneを使用してWebサービスからデータを取得しています。
データの取得中に読み込みビューを表示したくないので、Webサービスを同期的に呼び出します。
(wsからデータを取得する)テーブルビューに移動するボタンがあります。
Loading *loading = [[Loading alloc]init];
[[[UIApplication sharedApplication] keyWindow] addSubview:loading.view];
TableViewController *tableViewController = [[TableViewController alloc] init];
[self.navigationController pushViewController:tableViewController animated:YES];
[loading.view removeFromSuperview];
そして、自分のビューのviewDidLoadでWebサービスを呼び出します。
webData = [NSURLConnection sendSynchronousRequest:req
returningResponse:&response
error:&error];
NSString *xml= [[NSString alloc] initWithBytes:[webData mutableBytes]
length:[webData length]
encoding:NSUTF8StringEncoding];
// Parse XML etc.
(viewDidLoadで)Webサービスを呼び出す前に読み込みビューを追加しようとしましたが、それでも機能しません。
読み込みビューを表示する方法はありますか?
Webサービスは非同期で呼び出す必要があります。同期的に行うと、メイン(UI)スレッドがブロックされ、ビューの読み込みを完了したり、表示したりできません(または読み込み中のビューでアニメーションを表示するなど)。