0

私には簡単な質問のように思えますが、どこにも答えが見つかりません。

ボタンが押されたときにデータを非同期にダウンロードして保存するView Controllerがあります。

非同期リクエストが終了し (ViewController がデリゲート)、ViewController がポップされた場合でもデータが保存されることを確認できますか? それ以外の場合は、ダウンロードがポップされたときにダウンロードが終了したかどうかを確認し、そうでない場合はバックグラウンド スレッドを開始してデータをダウンロードします。

ご協力いただきありがとうございます!

4

2 に答える 2

-1

コントローラー (MVC) ではなく、モデル クラスですべてのデータのダウンロードを行う必要があります。

Web からダウンロードするためのすべてのロジックを含むシングルトン NSObject を作成し、シングルトン内に保存します。そうすれば、アプリ内の任意のクラスがそのデータにアクセスでき、ナビゲーション スタックからポップするときに viewController が割り当て解除されることを心配する必要はありません。

シングルトンの例:

+ (YourObject *)object
{
    static YourObject *_object = nil;
    static dispatch_once_t oncePredicate;
    dispatch_once(&oncePredicate, ^{
        _object = [[self alloc] init];
    });

    return _object;
}
于 2013-08-01T22:42:55.843 に答える