0

URL 接続を自動的にキャンセルする方法はないため、次のようにします。

-(void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

はい、実際にリクエストをキャンセルするわけではありません。ステータス バーのネットワーク インジケーターを非表示にするだけで、リクエストはバックグラウンドで実行されています。

今のところ動作しますが、これは Apple セーフですか? Apple はそれを気に入るでしょうか、それとも私のアプリを拒否するでしょうか?

4

2 に答える 2

0

URLRequestを別のクラスにオフロードする必要があります。これはMVCと呼ばれます。NetworkActivityIndi​​catorをそのクラスでアニメーション化または停止するように設定できます。そのクラスは舞台裏で実行でき、ViewControllerがインジケーターを担当することを心配する必要はありません。

何が起こっているのかをユーザーに知らせておくのは良い習慣です。特に何かが起こるのを待っている場合は、ネットワークアクティビティのフィードバックを確認することをお勧めします。

于 2012-10-02T20:54:22.733 に答える
0

アプリが拒否されることはありません。リクエストをキャンセルできます。この回答の作成とキャンセルの NSURLConnection を参照してください。を使用している場合は、それを保持しASIHTTPRequestて呼び出します[request cancel];willDissapear:animated:

于 2012-10-02T15:25:21.183 に答える