0

プロトタイプ セルを含む TableView があり、このプロトタイプ セルにはテキスト フィールドがあります。さて、私が必要としているのは、このテキスト フィールドが変更されたときに、このテキスト フィールドから情報を取得することです。オブジェクトをフィードするには、それを行う必要があります。

どうやってやるの ?

4

2 に答える 2

5

短い答え - あなたはしません。

もう少し詳しい回答...

それUITableViewCellは「景色」です。画面に情報を表示するためだけに使用されます。データを保存するためのものではありません。

UITableViewController(つまりUITableViewDatasourceUITableViewDelegate) には、情報を格納するために使用する(または ) が必要ですNSArrayNSFetchedResultsController

次に、デリゲート メソッドを使用して、テーブルにそのデータを入力します。

データが変更された場合は、テーブルをリロードしてセルを更新します。

決して起こらないことは次のとおりです...

  1. セルにデータを渡してテーブルをロードします。
  2. その後、セルは独自のデータを変更し、画面上の内容を変更します。
  3. 次に、コントローラーはそのデータをセルから読み取ります。
  4. いいえ、いいえ、いいえ、これをしないでください。

これはどうなるはず...

  1. テーブルをロードし、データの正しい部分を表すようにセル表示を構成します。
  2. セルでボタンが押されると (またはテキスト フィールドが変更されるなど)、コントローラーでメソッドが呼び出され、それに応じてデータが更新されます。
  3. データが変更されたので、セルをリロードします。
  4. 新しいデータに基づいて正しい情報が表示されるようになりました。
于 2013-09-13T15:23:26.933 に答える
0

パブリック プロパティ (IBOutlet) UITextfield を持つカスタム セルが必要です。次に、ViewController を cellForRowAtIndexPath で textField のデリゲートとして設定できます。

     cell.textField.delegate = self; 

この場合、ViewController は UITextFieldDelegate プロトコルを実装する必要があります。

于 2013-09-13T15:27:25.747 に答える