2012-04-25 14 views
0

iPadアプリケーションでは、ラベルに値を挿入しています。その値は別のクラスのUITableViewにも表示されるはずです。ラベルに値を挿入して別のビューに移動すると、テーブルビューに値が表示されませんが、テーブルビューをスクロールして元の位置になると値が表示されます。どうすれば修正できますか?値がスクロールされた後にUITableViewに表示されます

おかげに関して

PC

答えて

1

テーブルをスクロールすると、最終的に表示されるデータが再読み込みされます。あなたがviewillAppearで[tableView reloadData]に電話すると、ラベルが更新され、正しく表示されるはずです。

Good Luck!

+0

こんにちは、私はこれを試しました。しかし、テーブルをリロードすると、スクロールしても値が表示されません。また、テーブルの一番上のセルが欠落しています... –

+0

テーブルロード時にデータを再初期化できるようです。ラベルが別のクラスで制御されているという事実はおそらく多少の責任です。コードをステップ実行して値を追跡する必要があります。同じことをすることを示す2つの答えとして、これはUITableViewのデータが変更されたときに行うべき正しいことです。コードを実行してデータそのもののライフサイクルを見て、それをクリアしてください。 – MystikSpiral

+0

私はそれを得ました。私は間違った場所でテーブルをリロードしていました。 ヘルプありがとうございます.. –

1

ドキュメントのreloadData方法をチェックしてください。値を変更した後にこのメソッドを呼び出すと、現在表示されているセルをリロードすることができます。上にスクロールすると、セルが再描画されるため、スクロール後に新しい値が表示されます。

明確にするために、reloadDataメソッドをUITableViewオブジェクトで呼び出す必要があります。

受信機の行やセクションを再ロード

:ドキュメントから

[myTableView reloadData];

- (void)reloadData

議論

コールこの方法は、そうで細胞、セクションヘッダーとフッター、索引アレイを含むテーブルを構築するために使用され、すべてのデータをリロードします。効率を上げるために、テーブルビューは表示されている行のみを再表示します。リロードの結果としてテーブルが縮小する場合、オフセットを調整します。テーブルビューのデリゲートまたはデータソースは、テーブルビューにデータを完全に再ロードさせたい場合にこのメソッドを呼び出します。特に、beginUpdatesとendUpdatesの呼び出しで実装されたアニメーションブロック内で行を挿入または削除するメソッドでは呼び出さないでください。

+0

こんにちは、これを試しました。しかし、テーブルをリロードすると、スクロールしても値が表示されません。また、テーブルの一番上のセルが欠落しています... –