1

アプリがインターネットからデータを探している間に、単純なスピナーを実装しようとしています。データ グラブは正常に機能していますが、時間がかかる場合があるため、UIActivityIndi​​catorView を使用して、アプリがクラッシュしていないことをユーザーに知らせたいと考えています。しかし、現在は機能していません。これらのフォーラムやその他のフォーラムからできる限り多くのことを収集しましたが、何らかの理由で機能していません。繰り返しますが、この解決策はおそらく非常に単純だと思います。これが私がやっていることです:

.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];

それは明らかですか?誰かがより多くの情報を必要とするかどうか教えてください - 私はそれを基本に落とし込もうとしたので、ここに大量のコードを投稿する必要はありません...

よろしくお願いいたします。ご協力いただければ幸いです。この時点で機能しない理由はよくわかりません。

4

0 に答える 0