转换日期时不启动函数,swift



声明委托:

weak var delegate: ChangeDatePickerValueDelegate?

创建协议
protocol ChangeDatePickerValueDelegate: AnyObject {
func convertDate(dateOnPicker: Date) -> String
func datePickerChanged(text: String, cell: UICollectionViewCell)
}

当datePicker的值发生变化时触发该函数

@objc
func handleDatePicker(sender: UIDatePicker) {
dateTextField.text = delegate?.convertDate(dateOnPicker: datePicker.date)
print(dateTextField.text)
}

执行后,此部分不开始执行

extension AddContactsController: ChangeDatePickerValueDelegate {
func convertDate(dateOnPicker: Date) -> String {
return (presenter?.dateFormatter(datePicker: dateOnPicker))!
}

为什么没有执行,如何修复它?

您没有在任何地方将委托分配给AddContactsController,因此您需要有对象的引用(您在那里定义的类weak var delegate),并像这样做:

datePicker.delegate = self

在代码的某个地方,比如AddContactsControllerviewDidLoad()假设你的对象名为datePicker。

最新更新