0

合計の高さが約 2 画面のデータ入力フィールドを含む UITableView があります。フィールドにデータを入力した後、ユーザーは UINavigationBar の [保存] ボタンをタップすると、すべてのフィールドの内容が検証されます。

ユーザーがテーブルの一番下までスクロールしたためにフィールド #1 (一番上) が表示されていない場合、値を持つ UITextField を含む UITableViewCell にアクセスできません。cellForRowAtIndexPath を使用してセル/フィールドにアクセスしようとすると、nil が返されます。

フィールドの内容を検証するためにすべてのフィールドにアクセスするための最良の方法は何ですか?

4

2 に答える 2

1

最善の方法は、ビューに格納されているデータに依存するのではなく、フィールドに入力されたすべてのデータを格納し、必要なときにモデルにクエリを実行してデータを取得することです。

于 2012-07-11T17:31:49.630 に答える
0

いくつかのオプションがあります

  1. 私がすること - フィールドからのテキストを別の場所に保存してから、それを使用します
  2. すべてのセルを常にメモリに保存して、再利用されないようにする
  3. 検証を行っているときに、すべてのセルを保持するのに十分な大きさのテーブルを一時的に作成します

変更が表示されることなく、番号 3 を実行できることに注意してください。

于 2012-07-11T17:31:48.910 に答える