0

メインのView Controllerから呼び出され、jsonデータのダウンロードを開始し、それを配列(インスタンス変数)に非同期的に解析する別のクラスがあります

このデータのダウンロードが完全に完了したら、View Controller に通知してこの配列を返す方法はありますか?

データがダウンロードされるのを待つために、viewdidload メソッドでいくつかのループとスリープ タイマーを使用しようとしましたが、これは役に立ちませんでした

4

3 に答える 3

1

この目的にはデリゲートを使用する必要があります。デリゲートの詳細については、Google で検索してください。ここに簡単なチュートリアルがあります。

基本的な考え方は、メイン ビュー コントローラーのハンドルをサブクラスに渡すことです。サブクラスは、json の処理後にメインビュー コントローラーに通知し、デリゲートを使用して結果をメインビュー コントローラーに送り返します。

お役に立てれば。

于 2013-09-02T00:24:00.793 に答える
0

デリゲートはこの目的に役立つと思いますが、より良いオプションは、このコードをより適切に記述するためのブロック API の使用です。dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{

              // data downloading
        dispatch_async(dispatch_get_main_queue(), ^{

              // downloading data use

        });
    }); 

これがあなたにとって完全な助けになることを願っています。

于 2013-09-02T09:22:45.637 に答える