私はviewdidLoad上の私のアプリケーションからサーバAPIを呼び出しています。私はバックグラウンドでそれを行い、画面上にUIActivityIndicatorを表示してAPIレスポンスを得たら、それを隠す必要があります。これを行う方法??バックグラウンドでAPI呼び出しを実行するまでUIActivityIndicatorを表示するにはどうすればよいですか?
0
A
答えて
1
私はしばらくの間、多くのiOSをやっていませんでした。おそらく、あなたのためにこれを行うコンビニエンスクラスなどがあります。しかし、いずれにせよ、あなたは次のようなことをすることができます。
リモートリソースのフェッチを処理するクラスを作成し、呼び出し元のクラスに、フェッチが完了したときに呼び出すメソッド(resourceDidFinishLoading
など)を使用してMyAPIFetcherDelegateなどのプロトコルを実装します。そして、あなたはおそらく、あなたが戻って取得結果を実際に処理するために、周りにいくつかのデータを渡す必要があります
- (void)getResource
{
MyFetcher* fetcher = [[MyFetcher alloc] init];
fetcher.delegate = self;
// start/show the UIActivityIndicator
[NSThread detachNewThreadSelector:@selector(fetchResource:) toTarget:fetcher withObject:nil];
}
- (void)resourceDidFinishLoading
{
// Stop/Hide the UIActivityIndicator
// do something with the data that comes back
}
ノートのようなものを行うには、ミスがあることが可能ですので、私は、ラフメモリからこれを入力しました。しかしそれは一般的な考えです。そこから、あなたはドキュメントからそれを理解できるはずです。
また、APIのエラーについても忘れないでください。タイムアウトが発生した場合、スクリーンを放棄することを拒否してスピナーをそこに座らせたくありません。次のように
0
呼び出しとしてセレクタをNSThreadを作成します。
[NSThread detachNewThreadSelector:@selector(threadStartAnimating:) toTarget:self withObject:nil];
// Your code
[spinner stopAnimating];
[self.navigationcontroller pushviewcontroller:viewcontroller animated:YES];
threadStartAnimating:
-(void)threadStartAnimating:(id)data
{
[spinner startAnimating];
}
関連する問題
- 1. UIActivityIndicatorをx秒間表示する
- 2. バックグラウンドで(出力をファイルにパイプして)コマンドを実行するにはどうすればよいですか?
- 3. メインフォームからフォームを呼び出してプログレスバーを実行するにはどうすればよいですか?
- 4. IControllerFactory.GetControllerInstance()が呼び出される前にカスタムコードを実行するにはどうすればよいですか?
- 5. Jersey Client APIを呼び出すユニットテストコードはどうすればよいですか?
- 6. UIActivityIndicatorが表示されない
- 7. バックグラウンド実行中のサービスからアラートダイヤログ(ポップアップ)を表示するにはどうすればいいですか?
- 8. Silverlight 4で印刷中にBusyIndicatorを表示するにはどうすればよいですか?
- 9. PHPでFoursquare API呼び出しの結果を解析するにはどうすればよいですか?
- 10. Python(GAE)でapi呼び出しを作成するにはどうすればよいですか?
- 11. IPhone UIActivityIndicatorは、処理が完了するまで表示されません。
- 12. 呼び出し元スレッドでインターフェイスコールバックを呼び出すにはどうすればよいですか?
- 13. JQuery - モーダルダイアログの呼び出し後にスクリプトを実行するにはどうすればいいですか
- 14. 現在実行中のLinuxプロセスをバックグラウンドで実行するにはどうすればよいですか?
- 15. UIActivityIndicatorの表示に関するもう1つの質問
- 16. JQueryでできるように、eval()を使わずにExtJS AJAX呼び出しでJavascriptを実行するにはどうすればよいですか?
- 17. ベースクラスオブジェクトでサブクラスメソッドを呼び出すにはどうすればよいですか?
- 18. MVC4でカスタムモデルバインダーを呼び出すにはどうすればよいですか?
- 19. MVCでコントローラアクションを呼び出すにはどうすればよいですか?
- 20. ActivityIndicatorを画面中央に表示するにはどうすればよいですか?
- 21. Rubyでシェルスクリプトを起動し、バックグラウンド(非同期)で実行するにはどうすればよいですか?
- 22. MKMapViewでUIActivityIndicatorを使用する
- 23. バックグラウンドでアクティビティを開始し、その後に表示するにはどうすればよいですか?
- 24. URLをハードコーディングせずに別のプロジェクトでAPIを呼び出すにはどうすればよいですか?
- 25. monkeyrunnerの使用:アプリケーションの実行中にインテントを呼び出すにはどうすればよいですか?
- 26. psakeのexecを可変パスの実行ファイルに呼び出すにはどうすればよいですか?
- 27. Rustでシステムコマンドを呼び出して出力をキャプチャするにはどうすればよいですか?
- 28. ムービークリップをランダムに呼び出すにはどうすればよいですか?
- 29. アンドロイドアプリのバックグラウンドで計算を正しく実行するにはどうすればよいですか?
- 30. ページの部分表示を呼び出すにはどうすればよいですか?