Я пытаюсь установить значение переменной класса изнутри блока.Но значение не устанавливается по какой-то причине.Честно говоря, я не знаю, как установить значение переменной класса изнутри блока, поэтому любая помощь будет принята.
Вот мой код:
class PhoneAuthViewController: UIViewController {
var verificationID: String = ""
@IBAction func activateButtonPressed(_ sender: UIButton) {
var phoneNumberString = ""
if phoneNumberField.text != nil {
phoneNumberString = phoneNumberField.text!
} else {
phoneNumberString = ""
}
//Checking if the phone number is in the right format
let phoneNumberFormatStatus = checkPhoneNumberFormat(phoneNumberData: phoneNumberString)
if (phoneNumberFormatStatus != true) {
//Showing the alert if the user enters invalid phone number
showInvalidPhoneNumberAlert(phoneNumberData: phoneNumberString)
}
verifyPhoneWithFireBase(phoneNumberData: phoneNumberString)
}
func verifyPhoneWithFireBase(phoneNumberData: String) {
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumberData, uiDelegate: nil) { (verificationID, error) in
if (verificationID != nil) {
self.verificationID = verificationID!
}
if let error = error {
self.showAlert(errorString: error.localizedDescription)
return
} else {
self.performSegue(withIdentifier: "otpVerificationScreen", sender: self.activateButton)
}
}
}
@IBAction func verifyOtp(_ sender: UIButton) {
print("\(self.verificationID) is self.verificationID")
print("\(verificationID) is verificationID")
}
}
Функция verifyOtp ничего не печатает.