UITableViewCell上有两个UITextField实例。 我想在CustomCell上获取UITextField的文本。 该函数是test()。
模式A是来自UITextField的委托, 模式B是按压细胞功能。
我测试了模式B的工作,但模式A不起作用。 我其实想要A工作, 这是我的问题, 为什么模式A不起作用?
并且,如何从TableViewController获取CustomCell上的UITextField文本?
//Only needed code is written.
protocol CustomTableViewCellDelegate{
func getInputed(textField: UITextField)
}
class CustomTableViewCell: UITableViewCell , UITextFieldDelegate{
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
if myTextField != nil {
myTextField.delegate = self
myTextField2.delegate = self
}
}
//the session is to end
func textFieldShouldEndEditing(textField: UITextField) -> Bool {
if delegate != nil {
self.delegate?.getInputed(textField)
}
return true
}
}
class TableViewController: UITableViewController, CustomTableViewCellDelegate{
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//Im sure I write like this
cell.delegate = self
}
//Pattern A
func getInputed(textField: UITextField){
test()
}
//Pattern B
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
test()
}
func test(){
self.myTableView.reloadData()
let cell = myTableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: NSIndexPath(forRow: 0, inSection: 0)) as! CustomTableViewCell
print(cell.myTextField.text)
print(cell.myTextField.tag)
print(cell.myTextField2.text)
print(cell.myTextField2.tag)
}
}
答案 0 :(得分:1)
根据我们在评论/聊天中的讨论,我正在添加答案。 以下列方式修改代码有效:
mysql_*