0

初めての iPad アプリを作成しようとしていますが、問題があります。

ボタン付きのメイン ビュー コントローラーがあります。ボタンが押されると、Web サーバーから情報のリストを要求し、データを返します。このデータを、ポップオーバーのテーブル ビューに入れたいと思います。

メインのView Controllerがあり、データが返されて辞書に入れられ、ループしてデータの配列がいくつか取得されます。また、静的なテーブル ビューを表示できるポップオーバー ビュー コントローラーもあります。

私の質問は、メイン ビュー コントローラーからポップオーバー ビュー コントローラーにデータ (辞書または配列) を取得するにはどうすればよいですか?

私は本当に迷っています。

ありがとう

ジェームズ

4

3 に答える 3

1

覚えておく必要がある 2 つの設計パターンがあります:委任と通知です。より一般的には、KVO は、モデルが変更された場合にビューを更新するのにも役立ちます。もちろん、通知をリッスンするオブジェクトやデリゲートとして機能するオブジェクトは、そのビューのコントローラーであり、決してビュー自体ではありません。

いつでも避けたいことが 2 つあります。グローバル変数またはシングルトンにデータを格納することと、モデルやコントローラーのように機能する「スーパー オブジェクト」を作成することです。MVC パラダイムに固執し、オブジェクトを疎結合にして、どのオブジェクトが他のどのオブジェクトを所有しているかを考えてみてください。これはメモリ管理にとって重要であり、正しく実装しないと後で戻ってきます。

WWDC10 セッション ビデオのセッション #116 - Model-View-Controller for iPhone OS と、WWDC09 のセッション #123 - iPhone View Controller Techniques をご覧ください。

WWDC10 のビデオは、Apple の開発者向けサイトで無料で入手できます。

于 2010-12-18T12:20:01.990 に答える
0

James さん、まず宿題をして、いわゆるデリゲート構造がほとんどの iOS アプリでどのように機能するかを試してみることをお勧めします。

より明確にするために、メイン ビュー コントローラーはデリゲートになり、ポップオーバー ビュー コントローラーはそのようなデリゲートのになります。デリゲートは、その子コントローラーを提示する責任があります。同時に、子コントローラーは、デリゲート コントローラーにデータを要求し、変更を報告する責任があります。

このようにして、ポップオーバー コントローラーはメイン ビュー コントローラーから必要なデータを取得できます。同時に、ユーザーがポップオーバー ビューを閉じたい場合、ポップオーバー ビュー コントローラーはユーザーの指示を検出し、メイン ビュー コントローラーに通知します。それを却下します。

于 2010-12-18T12:01:20.177 に答える
0

数秒前に別の可能性を説明しました:

ビューコントローラー間で配列を渡しますか?

于 2010-12-18T17:05:27.503 に答える