I am using several UITextField
s and want to do anytime anything changes in any one of them.
It looks basically like:
@IBOutlet weak var f1: UITextField!
@IBOutlet weak var f2: UITextField!
@IBOutlet weak var f3: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
f1.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)
f2.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)
f3.addTarget(self, action: #selector(textFieldDidChange), for: .editingChanged)
}
@objc func textFieldDidChange(_ textField: UITextField) {
// Data in one of the fields changed.
if self.view.tag == 1 {
print("field 1")
} else {
if self.view.tag == 2 {
print("field 2")
}
//...
}
}
As you can see, I've tried setting tags, but not sure how to access them here.
I’m using XCode 9.01 and Swift 4.