Все поля UITextFields имеют протокол, которому вы можете соответствовать.
https://developer.apple.com/documentation/uikit/uitextfielddelegate
Протокол имеет 6 различных методов, один из которых вы ищете textFieldDidEndEditing
Самый простой способ провести различие между UITextFields - это назначить им теги. Все UIViews (и подклассы) имеют тег, позволяющий их идентифицировать.
Чтобы использовать этот метод протокола в своих интересах, вам нужно установить для делегата UITextField значение «self», которое в вашем случае будет контроллером представления, а также установить теги для UITextFields
Чтобы связать все это вместе
class MyViewController: UIViewController, UITextFieldDelegate {
let textField1 = UITextField() //() is the constructor for the object
let textField2 = UITextField()
init(){ //some generic init
super.init()
textField1.delegate = self
textField1.tag = 1
textField2.delegate = self
textField2.tag = 2
}
//protocol method
func textFieldDidEndEditing(_ sender: UITextField){
//since the sender is of UITextField
if sender.tag == 1 { //it's textField1
//do something
}
if sender.tag == 2 { //it's textField2
//do something
}
}
}
Примечание. Это просто пример скелета. Важно отметить, что ваш класс должен соответствовать UITextFieldDelegate, вам нужно назначить делегатов вашего текстового поля себе, вам нужно установить их теги, и тогда вы сможете различать их в методах протокола.