0

テーブル ビューを使用してビュー コントローラーから詳細ビューにコンテンツを読み込むには、何がより効率的でしょうか?

メソッドから詳細ビューに変数を渡す必要がありますか、didSelectRowAtIndexPath:それともサーバーに JSON 呼び出しを行い、詳細ビューのディクショナリにデータをロードする方がよいでしょうか?

didSelectRowAtIndexPath:メソッドを介してView Controllerから詳細ビューにデータを渡すと、遅延が発生することに気付きました

助けてくれてありがとう

4

4 に答える 4

0
DetailView = [[DetailViewController]alloc]init];
 DetailView.strValue = sValue.
[self.navigationController pushViewController:DetailView animated:Yes];

DetailView は、詳細ビューのオブジェクトです。このクラスをインポートしてから、上記のようにインスタンスを作成します。strValue は詳細ビューで取得された文字列であり、sValue は現在のビュー コントローラーの文字列であり、他のビューに渡される値があります。

このリンクもチェックしてください。

于 2013-08-05T10:31:08.437 に答える
0

メソッドを使用didSelectRowAtIndexPath:してidまたは一意の変数をdetailedViewController...に送信detailedViewControllerし、この一意の変数またはidを使用してjsonからデータを取得するviewDidLoad:か、viewWillAppear:これがデータを投稿する簡単で最良の方法ですdetailedViewController

于 2013-08-05T09:53:11.920 に答える
0

あなたの質問からは、データがどこから来ているのか完全には明らかではありません。テーブルビューでアイテムを選択するときに、詳細ビューを表示する前に、そのアイテムに関する追加情報を取得するために Web サービス呼び出しを行う必要があるという JSON 呼び出しについて言及しているためだと思います。

その場合は、Web サービスを呼び出して、詳細ビュー コントローラーでデータをロードする必要があります。Apple のインターフェイス ガイドラインでは、応答性を高めるためにこの方法を推奨しています。テーブルビューの行がタップされた直後に、詳細ビューコントローラーが表示されます。詳細ビューでアクティビティ インジケーターまたは読み込み中のグラフィックを使用して、追加情報がダウンロードされていることをユーザーに知らせることができます。

これは、データがダウンロードされるのを待ってからビューの遷移トリガーするよりも、はるかに優れたエクスペリエンスです。

于 2013-08-05T09:47:37.007 に答える