使用.editingDidEnd
选项添加目标和方法textFieldDidEndEditing
有什么区别?
@IBOutlet weak var textField: UITextField! {
didSet {
// check when textField editing ends
textField.addTarget(self,
action: #selector(titleDidChange(_:)),
for: .editingDidEnd)
}
}
VS。
func textFieldDidEndEditing(_ textField: UITextField) {
// user has resigned responder
}
最佳答案
最终结果是相同的。当文本字段不再是第一响应者时,两者都被调用。
但是,使用addTarget
可以将事件通知给多个目标,而使用delegate
方法仅允许将事件通知给单个目标。
如果您只有一个目标,并且还实现了其他委托方法,则只需使用委托方法。
如果需要多个目标来了解事件,则需要使用addTarget
。
关于ios - iOS UITextField addTarget和textFieldDidEndEditing之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53011672/