0

私のアプリケーションには、いくつかの階層データに基づく一連のテーブル ビューがあります。たとえば、ユーザーが CategoryListController で [Browse by XYZ] を選択すると、その選択に基づいて DocumentListController をロードします。

現在、JSON データを返す Web サービスを介してリストを取得していますが、それは的外れです。この動的リストを SQLite データベースから取得することもできますが、根本的な課題は同じです。

ここでの問題は、DocumentListController のテーブル ビューのアイテムのリストが、ユーザーがタップした選択に応じて変化するため、テーブル ビューが表示された後にリストをロードする必要があることです。

現在-viewWillAppear:、Web サービスからのデータ項目のこの「更新」をトリガーするために使用しています。これがこの更新を行うための最良の方法なのか、それとも別の方法を使用することを検討すべきなのか疑問に思っていました. 使用してみ-viewDidLoadましたが、そのメソッドは DocumentListController に対して 1 回だけ呼び出され、「選択」が変更されたかどうかを呼び出すたびに確認する必要があります。変更された場合は、Web サービスを再度呼び出す必要があります。

このようなことをする最善の方法は何ですか?

4

1 に答える 1

0

ネットワーク経由でデータを取得するため、処理後に通知を投稿することをお勧めします。DocumentListController はその通知に登録し、通知ハンドラーでそのテーブル ビューの reloadData を呼び出す必要があります。

ビューを表示するときにデータが常にそこにある場合の別のアプローチは、あなたが提案したものです-viewWillAppearでテーブルビューを更新します。

于 2008-11-27T14:16:50.713 に答える