私はUIViewController
の中にUITableView
を持っています。このビューコントローラでは、インターネットからダウンロードしたデータを表示したいと考えています。したがって、このために、私は次の操作を行うことになっているOfficesParser
と呼ばれるヘルパークラスを作成しました:Objective-C - NSObjectサブクラスからUIViewControllerにデータを送信する
- を終了したらJSONパーサ
- とデータは、送信
ASIHTTPRequest
- プロセスでインターネットからデータをダウンロードデータバック私のビューコントローラ私はそうのよう
-viewDidLoad
で私のヘルパークラスをINGのalloc
INGとinit
だで私のビューコントローラ
へ:
self.officesParser = [[[OfficesParser alloc] init] autorelease]; //officesParser is a retained property
はその後-viewWillAppear:
に私はそうのようなダウンロードプロセスを開始しますofficesParserオブジェクトのメソッドを呼び出す:私のヘルパークラスで
[self.officesParser download];
OfficesParser
ASIHTTPRequest
がキューを示しますデリゲートメソッドを持っていますダウンロードが完了しました。だからこのメソッドから、私のビューコントローラにデータを送信したい。私はこれが仕事と思うだろうが、それはしませんでした:
- (void)queueFinished:(ASINetworkQueue *)queue {
NSArray *offices = [self offices];
OfficesViewController *ovc = [[OfficesViewController alloc] init];
[ovc setOffices:offices];
}
このコードを念頭に置いて、どのように私は適切なコードでやろうとしているものを達成でしょうか?
のようなあなたのOfficesParserを作成しますか? –
保持サイクルの使用委任を避けるため、これが簡単な方法です。 – Joe
ハックではありません。これは、あなたがしようとしていることを正確に行うために設計されたアーキテクチャパターンです。参照は必ずしも最良の方法とは限りません。 – MishieMoo