2009-03-25 23 views
2

xmlを返すhttp要求を行うテーブルビューコントローラがあります。私はXMLを解析し、それをUITableViewに表示します。 HTTP要求が最初に呼び出されると、すべてが期待通りに機能します。 2回目にhttpリクエストを呼び出す:xmlが期待どおりに受信されますが、テーブルは更新されません。私は2秒ごとにTableViewのreloadDataメソッドを呼び出すので、問題はありません。iphoneアプリでテーブルビューを再読み込みしていますか?

答えて

7

XMLを更新した後でどこかにブレークポイントを設定し、テーブルビューに与えているデータが期待通りかどうかを確認します。そうでない場合は、コールスタックを介して何かが欠落しているかどうかを確認します。また、テーブルビューをリロードするタイマーを設定することは、本当に悪いことです。データが変更された後、必要なときにリロードしてください。

0

Marcのレスポンスとほとんど同じですが、少し異なるアクション - セルにデータをロードして、新しいデータがある場合は再度参照するようにcellForIndexPathにブレークポイントを設定します。

テーブルがリロードされていない場合、データはテーブルに新しいものが表示される場所にデータを作成していません。

2

あなたはスレッドを使用していますか?もしそうなら、メインスレッド上でテーブルビューのデータを再ロードする必要があります。そうでなければ、スクロールするまでテーブルビューは更新されません。

2秒ごとにテーブルビューをリロードするのが最悪です。実際に必要なときだけテーブルビューのデータをリロードしてください。

スレッドを使用していない場合は、httpリクエストに時間がかかるため、httpリクエストをブロックする際にメインスレッドとUIがブロックされないようにしてくださいコンプリート。

+0

私は問題を理解しました - そして、私はもはや2秒ごとにリロードしていません:) – zpesk

+0

"スレッドを使用しています"という問題がありました。ありがとう、あなたの記事は私を助けました。 – InFreefall

関連する問題