У меня есть 2 textFields и 1 textView, все эти поля имеют контент, взятый из previousViewController
, мне нужно включить или отключить rightBarButtonItem в соответствии с изменениями пользователя в этих полях, если новый контент отличается от текущего контента , который исходит от previousViewController
. Как проверить textFields и textView одновременно? Теперь у меня (условия иногда противоречат друг другу)
в viewDidLoad:
loginTextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
displayNameTextField.addTarget(self, action: #selector(textFieldDidChange(_:)), for: .editingChanged)
, то:
@objc func textFieldDidChange(_ textField: UITextField) {
if displayNameTextField.text != currentDisplayName || loginTextField.text != currentUsername {
self.navigationItem.rightBarButtonItem?.isEnabled = true
} else {
self.navigationItem.rightBarButtonItem?.isEnabled = false
}
}
func textViewDidChangeSelection(_ textView: UITextView) {
if aboutTextView.text == currentAbout {
self.navigationItem.rightBarButtonItem?.isEnabled = false
} else {
self.navigationItem.rightBarButtonItem?.isEnabled = true
}
}