0

私は初心者で、プロジェクトを実行するときにいくつかの問題に直面しています。XML 解析によって NSString 値を取得するテーブル ビューがあります。これは次のようなものです: セル 1: 基本的な名前 - 名前、住所、電話番号、日付。セル 2 : 主な名前 - 名前、住所、電話番号、日付。セル 3 : レストラン名 - 名前、住所、電話番号、日付。

ここで、セル 1、2、3 はテーブル ビューのセルで、名前、住所、電話番号、日付が値です。基本的な名前、注目の名前、レストランの名前、およびこれらすべての値を XML 解析によって取得します。今私の仕事は、基本的な名前をクリックすると、基本的な名前の詳細 (名前、住所、電話番号、日付) が別のページに渡されることです。クリックすると表示されるすべてのセルの説明もあります。セルをクリックして別のページに移動することはできますが、これらのデータを渡すことはできません。ここで、私は Xcode 4.2 を使用しており、ストーリー ボードは使用していないことに注意してください。

4

3 に答える 3

3

モデル、ビュー、コントローラーの観点から考える必要があります。モデルは、テーブルが提示する基礎となるデータです。テーブルはビューであり、コントローラーはモデルからデータを抽出し、それをテーブルとビューに渡す役割を果たします。

したがって、「テーブルとビューの間でデータを渡すにはどうすればよいですか」という観点ではなく、「ビューにデータを渡すことができるように、ViewControllerにデータを提供するにはどうすればよいですか」という観点から考えてください。

したがって、この状況では、アランが示唆しているように、オブジェクトを渡す必要があります。

NSArray最初のテーブルのモデルがのであると仮定しましょうNSDictionaries。これは、parsinfXMLのかなり一般的な結果です。各辞書には、レストラン情報のキーと値のペアがあります。詳細ビューコントローラには、ディクショナリのプロパティが必要です。このtableView:didSelectRowAtIndexPath:メソッドでは、詳細ビューの新しいビューコントローラーをインスタンス化してから、ビューコントローラーのデータプロパティを、選択したばかりのセルの行に対応するインデックスの配列内のディクショナリに設定します。

于 2012-09-11T21:01:26.510 に答える
0

詳細ビュー コントローラーは、表示する関連モデル オブジェクトのプロパティまたはセッター メソッドを実装するだけで済みます。通常tableView:didSelectRowAtIndexPath:、 masterUITableViewのデリゲートのメソッドでこのプロパティを設定します。

于 2012-09-11T20:45:53.923 に答える
0

Delegate 変数を使用して概念の 1 つを確認するだけです。

1)ビューから別のビューの UITableView のセルにパラメーターを渡す

一度に複数のクラスに値を渡すために使用できます。

または、Singleton クラスを使用して同じことを行うこともできます。

あなたの場合、配列/辞書を使用して複数の値を別のクラスに渡すことができます。

于 2012-09-12T16:57:21.240 に答える