我有一个带有标签和文本字段的自定义 uitableviewcell,现在我想在文本字段更改为 uitableviewcontroller 时传递数据。
tableview 填充了来自用 fmdb 包装的 sqlite 数据库的数据,并且 tableviewcells 的数量在我在应用程序中使用的每个数据库中都是不同的。有多少个字段以及它们的名称存储在数据库中,表的填充工作正常。
我设法从单元格中的文本字段获取“EditingDidEnd”事件到我的 View Controller ,该事件用于激活工具栏按钮以保存更改。我通过 cell.fieldData.addTarget(self, action: "SaveButtonOn:", forControlEvents: UIControlEvents.EditingDidEnd)
关于在
中创建单元格tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath)
。
我现在的问题是我需要从单元格内的文本字段中获取数据。我找到了一些代码和教程,用于通过 addTarget() 将参数传递给 via addTarget() 但仅适用于按钮,我不知道这是否适用于文本字段。
如果您需要更多信息,请直接询问,我希望您能理解我需要做什么。
感谢您的回答 阿达卡斯
最佳答案
对您的 UITextField 使用委托(delegate):
import UIKit
class MyViewController: UIViewController, UITextFieldDelegate {
var myTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
myTextField = UITextField(frame: CGRectMake(0, 0, 100, 30))
myTextField.delegate = self
}
func textFieldDidEndEditing(textField: UITextField) {
// Do stuff here.
}
}
如果设置正确,您拥有的任何文本字段都会调用委托(delegate)方法 textFieldDidEndEditing
,然后您可以根据需要对其内容 (textField.text
) 进行处理。
关于ios - 带有文本字段的 uitableviewcell 传递更改的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300699/