2011-08-08 6 views
0

私はあなたの助けが必要です。多分その愚かなものですが、私はエラーを見つけることができません。 テーブルビューと追加ボタンがあり、そのボタンをクリックすると小さなフォームのモーダルビューが表示されます。保存ボタンを押したときにデータをTableViewコントローラに送信して表示します。NSUserDefaultsを使用しています配列内のデータ。userdefaultsを使用してUItableview iphoneを削除する

たとえば、2つの新しい行を追加して1つを削除した後、別の行を追加すると、追加するだけでなく最後の行が表示されます。

私は貯蓄をしているし、このよう読んでいます:viewDidAppear

を私はNSUserDefaultsを読み、存在する場合は、データを取得します。 ModalViewからデータをキャッチするメソッドの をuserdefaultsに保存します。 in commitEditingメソッド私はuserdefaultsを読み込んだ後、配列とテーブルから行を削除して、この変更をuserdefaultsに保存します。

私は何が間違っているのか分からない、誰でも私にこれを手伝うことができますか?

答えて

0

[self.tableView reloadData];をそのクラスのviewWillAppearに使用してください。あなたはまた、別のビューコントローラでそのクラスを参照することのためのオブジェクトを作成し、常にに覚え[classObject.tableView reloadData];

を呼び出す追加操作または削除操作の後tableViewをリロードすることができます。

+0

[self.tableView reloadData]を配置しようとしました。 viewWillApperarでは、動作しませんでしたが、私は戻って、tableviewコントローラに行を私は保存された最後の行で更新された行に再入力すると、reloadDataのcuzについて何かを持っています。私は、新しい行を追加してモーダルが解除された瞬間にしか問題がないと思います。 = S。 Btwはあなたの素早い答えを感謝XD –

0

NSUserDefaultsをテーブルの直接データソースとして使用しないでください。それを中間モデルに保管してください。そのようにデバッグするのはずっと簡単です。

モデルをユーザーの既定値と同期させるのが難しい場合は、いつでも[[NSUserDefaults standardUserDefaults] synchronize]に電話してください。

また、テーブルセルの再利用に間違いがないことを確認してください。顧客のUITableViewCellクラスがあり、-prepareForReuseを正しく実装していない場合、古いデータが表示される可能性があります。

+0

こんにちは、デイヴィッドはあなたの時間のおかげで、私は保存するたびに、私はそれを聞いていなかったので、私は少し聞いていなかったと私はその方法を見つけたカスタムセルの値をリセットしますが、どの値を再サイズする必要があるのか​​、このメソッドをいつ呼び出すべきかはわかりません。このplsについてもっと教えていただけますか? –

+0

これは手動で呼び出すことはできませんが、UITableViewCellのサブクラスによってオーバーライドされます。カスタムUITableViewCellサブクラスを使用していない場合、それは問題ではありません。より多くのヘルプが必要な場合は、いくつかのコードを投稿する必要があります。 –

関連する問題