单独的类中的TextField委托不起作用

时间:2015-12-22 00:43:21

标签: ios swift uitextfield uitextfielddelegate

所以我试图把我的代表分成一个单独的类,而不是把它放在我的单元类中。这是我如何声明和初始化委托:

class RegistrationTableViewController: BaseTableViewController, UITextFieldDelegate {
var textFieldDelegate: UITextFieldDelegate

//MARK: - Initialization

required init?(coder aDecoder: NSCoder) {
    textFieldDelegate = RegistrationTextFieldDelegate()

    super.init(coder: aDecoder)
}

然后我在我的常规单元格设置方法中设置它:

func setupBaseCellWithType(type: Constants.Registration.CellType) -> BaseCell {
    var cell: BaseCell? = nil

    if let newCell = tableView.dequeueReusableCellWithIdentifier(Constants.Registration.profileBaseRegistrationCell) as? BaseProfileCell {
        newCell.cellType = type
        newCell.setupCell()
        newCell.setTextFieldDelegate(textFieldDelegate)
        cell = newCell
    }

    return cell!
}

问题是,它永远不会遇到任何委托方法。当我把细胞变成我的代表时,它工作得很好,任何想法在这里出错了吗?

修改:setTextFieldDelegate调用此方法:

private func setTextFieldDelegates(delegate: UITextFieldDelegate) -> Void {
    for textField in textFieldArray {
        textField.delegate = delegate
    }
}

这就是我之前在单元格中的所有textFields上设置委托的方式,所以我知道它正确地将它们设置在那里,但是在我试图将它移动到另一个类时出现了问题。

编辑2:我是一个低睡眠的白痴。我只是改变了BaseCell代表,而不是我的PhoneNumberCellDelegate ......如果你愿意,可以随意称我为白痴。

0 个答案:

没有答案