0

この時点でかなり複雑なアプリケーションを使用しており、データの処理方法が完全ではないように感じています。

そのため、アプリをより MVC に適したものにするためのいくつかの手順を開始しました。まず、すべての ViewController でインライン パーサー メソッドを使用することから、専用のパーサー クラスを作成することになりました。

呼び出すのは難しくありません。クラスをセットアップして、作成したイニシャライザ メソッドを呼び出して、リクエストのためにデータを渡します。オブジェクト クラスのすべてがうまく機能します。解析しています..しかし、ここで私は少し迷子になります。

そのデータを呼び出したViewControllerに戻すにはどうすればよいですか? 私はプロトコルとデリゲートを少し扱いました..しかし、それがこれにどのように適合するかはわかりません。

これは、私が達成しようとしていることのグラフィカルな例です。

ビュー間でのデータの受け渡し

上記のように、View Controller は、DB に接続するオブジェクト クラスの初期化メソッドを呼び出してデータをダウンロードし、そのデータを解析します。私が抱えている問題は、そのデータをViewController2に取得する方法です..

これを行うための最も適切で将来性のある方法は何ですか?

4

3 に答える 3

3

カスタムinitメソッドは驚くべきことをします。たとえば、前の画面の配列をプリロードしたピッカーをインスタンス化してプッシュする必要があったため-(id)initWithArray:(NSArray*)array、2 番目のビューで定義し、それを呼び出しsecondView = [[SecondView alloc]initWithArray:_population];てプッシュしました。割り当てを解除して破棄する前に、渡したオブジェクトの所有権を取得することを忘れないでください!

于 2012-03-11T21:35:53.827 に答える
0

オブジェクトからすべてのView Controllerにデータをブロードキャストしたい場合、これを行う良い方法は通知(NSNotificationCenter)です。パーサー オブジェクト内に完了ブロックを含むメソッドを記述することもできます。

于 2012-03-11T21:36:06.063 に答える
0

NSNotificationCenter を使用してローカル通知を送信してみてください。ViewController2 をリスナーとして登録し、通知を受け取ったら、データのデータ モデル (シングルトン!?) を呼び出します。

于 2012-03-11T21:36:29.433 に答える