1

のライフサイクルに少し苦労していますUIViewController

UINavigationController基本的に、現在UITableViewControllerルートビューコントローラとしてを持っている、で構成されるアプリケーションがあります。これUITableViewUITableViewController、Webサービスへの非同期呼び出しで更新されます。

その時点まで、すべてが正常に機能します!

UITableViewController一般に、ViewControllerが表示されるたびにTableViewのデータをリロードしたいと思います。つまり、アプリを閉じて別のアプリを起動してからアプリケーションに戻った場合、データは常にWebサービスから再ロードする必要があります。基本的には、アプリを再起動するたびにツイートを更新する例としてのTwitterアプリのように。

これを実現するために、さまざまな場所でWebサービスを呼び出して、動作をテストしました。viewDidLoad、、viewWillAppear&を試しviewDidAppearましたが、これらのメソッドはすべて、viewControllerの作成時に一度だけ呼び出されます。

私はここにstackoverflowでいくつかの調査を行い、機能するヒントがありましたがNSNotification applicationDidBecomeActive、このコントローラーの場合にのみviewControllerを更新したいので、将来アプリにViewControllerを追加する場合、これが適切な解決策であるかどうかはわかりませんまた、ユーザーに表示/表示されます。

この問題に関する提案は大歓迎です!

どうもありがとうNeo74

4

1 に答える 1

0

Webサービスからの情報を更新するために使用することに問題はありませんapplicationDidBecomeActive。将来、View Controllerをさらに追加する予定がある場合は、単一のViewControllerの外部でWebサービスロジックを使用する必要があります。

すべきではないのは、アプリケーションデリゲート内にWSにアクセスするためのコードを配置することです。代わりに、これを担当するシングルトンクラスを作成します。

于 2013-01-25T08:49:56.003 に答える