Делегат TextField в отдельном классе не работает
Поэтому я пытаюсь выделить своего делегата в отдельный класс, а не размещать его в классе моей ячейки. Вот как я объявляю и инициализирую делегата:
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... Не стесняйтесь называть меня идиотом, если хотите.