1

UITableViewControllerを使用し、そのテーブル ビューに Web サーバーからのデータを入力するアプリを作成しています。

私の内部viewDidLoadには、上記のWebサーバーからデータをロードし、それをカスタムオブジェクトとして配列に保存してから、セルにロードするメソッドがあります。これはうまくいっています。

問題:

ただし、そこから移動して戻るたびにUITableViewController、すべてが再度読み込まれます。これは非常に不要なので、アプリを初めて起動したかどうかを追跡booleanする に を格納しました。NSUserDefaultsそうである場合 (ログインしたばかり)、サーバーからデータをロードします。そうでない場合は、しないでください。

ただし、気づいたように、tableViewから移動する (または戻る) たびに がリセットされますController。また、カスタム オブジェクトを保存したすべての配列が空になったため、配列から読み込むこともできません。(に戻るたびにTableViewController、空です)

配列を に格納してから、毎回そのデータを にNSUserDefaults入力しようとしましたが、カスタム オブジェクトを に格納できないことがわかりました。tableViewNSUserDefaults

私が達成したいのはこれです:

言ったものから離れたり戻ったりするときはいつでもTableViewController(私は を使用します)、を空にしSWRevealViewControllerたくありません。tableViewすべてのセルをそのままにしたいので、viewロードされてからtableviewいっぱいになるまでの待ち時間がありません。

これが無理なら次善が欲しい。配列をアプリのどこかに保存し、ユーザーがTableViewController. これは私の好みのソリューションよりも遅くなりますが、サーバーからすべてをロードするよりも速く、データの消費も少なくなります。

どんな助けでも大歓迎です!

ありがとう。

4

2 に答える 2

0

ユーザーがサーバーからデータを呼び出すときに、最初にすべてのデータをキャッシュに保存する必要があります。その後、ユーザーがページに移動して戻ってくるたびに、キャッシュからデータがロードされます。

于 2014-03-31T04:41:09.123 に答える