如何从UITableViewCell获取信息?

时间:2013-09-13 15:11:17

标签: ios uitableview tableview

我有一个带有原型单元格的TableView,在这个原型单元格中我有一个文本字段。 好吧,我需要的是在它发生变化时从这个文本字段中获取信息。我需要这样做来喂养一个物体。

我该怎么做?

2 个答案:

答案 0 :(得分:5)

简短回答 - 你没有。

稍微深入回答......

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

UITableViewController(即UITableViewDatasourceUITableViewDelegate)中,您应该使用NSArray(或NSFetchedResultsController)来存储信息。

然后使用委托方法用表格填充表格。

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

以下情况永远不会发生......

  1. 通过将数据传入单元格来加载表格。
  2. 然后,单元格会更改自己的数据并更改屏幕上显示的内容。
  3. 然后控制器从单元格中读取该数据。
  4. 不,不,不,不要这样做。
  5. 这会发生什么......

    1. 加载表并配置单元格显示以表示数据的正确部分。
    2. 当单元格中按下按钮(或更改文本字段等)时,再调用控制器中的方法来相应地更新数据。
    3. 现在数据已更改,重新加载单元格。
    4. 现在将根据新数据显示正确的信息。

答案 1 :(得分:0)

您需要具有公共属性(IBOutlet)UITextfield的自定义单元格。然后你可以将你的ViewController设置为cellForRowAtIndexPath中的textField委托,

     cell.textField.delegate = self; 

在这种情况下,您的ViewController必须实现UITextFieldDelegate协议。