0

I have a TableView with a prototype cell, in this prototype cell I have a text field. Well, what I need is to get a information from this text field when it changes. I need to do that to feed a object.

How can I do that ?

4

2 回答 2

5

简短的回答 - 你没有。

稍微深入一点的答案...

UITableViewCell是一个“视图”。它仅用于在屏幕上显示信息。它不是用来存储数据的。

在 a UITableViewController(ie UITableViewDatasourceand UITableViewDelegate) 中,您应该有一个NSArray(或 an NSFetchedResultsController) 用于存储信息。

然后使用委托方法使用该数据填充表。

如果数据发生更改,则重新加载表格以更新单元格。

不应该发生的是以下...

  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 回答