Web サーバーを呼び出すメソッドを持つ UIViewController があり、UIViewController を表示する前に、このメソッドが終了するまで待ちたいと思います。
これどうやってするの?
Web サーバーを呼び出すメソッドを持つ UIViewController があり、UIViewController を表示する前に、このメソッドが終了するまで待ちたいと思います。
これどうやってするの?
didFinish
http リクエストなどを介して Web サーバーを呼び出す場合は、イベントのカスタム デリゲート メソッドを設定して、viewController
ここに表示することができます。
ASIHTTPRequestを見てください。
ビュー コントローラーを表示する前に、データを要求する必要があります。次に、指定された初期化されたビューコントローラーを使用して、彼のデータを表示します。例 (AFNetworking フレームワークを使用)
[[AFAppDotNetAPIClient sharedClient] getPath:@"stream/0/posts/stream/global" parameters:nil success:^(AFHTTPRequestOperation *operation, id JSON) {
NSLog(@"JSON: %@", JSON);
MyModel model = [self parse:json];
ViewController *vc = [[ViewController alloc] initWithData:model];
[self.navigationController pushViewController:vc animated:YES];
} failure:nil];
グランド セントラル ディスパッチ (GCD) を使用できます。例を次に示します。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
//Web Service Calls
dispatch_async(dispatch_get_main_queue(), ^{
//UI Stuff
});
});