アプリがインターネットからデータを探している間に、単純なスピナーを実装しようとしています。データ グラブは正常に機能していますが、時間がかかる場合があるため、UIActivityIndicatorView を使用して、アプリがクラッシュしていないことをユーザーに知らせたいと考えています。しかし、現在は機能していません。これらのフォーラムやその他のフォーラムからできる限り多くのことを収集しましたが、何らかの理由で機能していません。繰り返しますが、この解決策はおそらく非常に単純だと思います。これが私がやっていることです:
.h ファイルでスピナーをプロパティとして宣言します。
@property (strong, nonatomic) IBOutlet UIActivityIndicatorView *activityIndicator;
また、ストーリーボードを使用してスピナー オブジェクトをビュー コントローラーにドラッグし、CTRL キーを押しながらドラッグしてプロパティへの接続を作成しました。
URL リクエスト (および結果としてのデータの読み込みと解析) をトリガーするボタンは、実際にはセグエをトリガーするので、
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
function は、物事を始めるのに最適な場所です。prepareforsegue 関数以外に、ボタンに特定の関数を追加していません。(多分これは問題ですか? IBAction を関連付ける必要がありますか?...)
とにかく、その関数はこれを引き起こします:
[self GoAheadAndGetData];
次に、次のように始まります。
- (void)GoAheadAndGetData {
[NSThread detachNewThreadSelector:@selector(threadStartAnimating:) toTarget:self withObject:nil];
....... etc
したがって、その関数は次のようになります。
- (void) threadStartAnimating:(id)data
{
[activityIndicator startAnimating];
}
最後に、GoAheadAndGetData 関数の最後に、次のようにアニメーション停止呼び出しを配置しました。
[activityIndicator stopAnimating];
それは明らかですか?誰かがより多くの情報を必要とするかどうか教えてください - 私はそれを基本に落とし込もうとしたので、ここに大量のコードを投稿する必要はありません...
よろしくお願いいたします。ご協力いただければ幸いです。この時点で機能しない理由はよくわかりません。