Hello, I encountered with such a problem. In the code below, the guard statement does not fire.
struct Person {
var firstName: String
var lastName: String
var age: String
}
let firstNameTextField = UITextField()
let lastNameTextField = UITextField()
let ageTextField = UITextField()
firstNameTextField.text = "John"
lastNameTextField.text = "Williams"
ageTextField.text = nil
func createPerson() -> Person? {
guard let firstNameUnwrap = firstNameTextField.text else { return nil }
guard let lastNameUnwrap = lastNameTextField.text else { return nil }
guard let ageUnwrap = ageTextField.text else { return nil }
return Person(firstName: firstNameUnwrap, lastName: lastNameUnwrap, age: ageUnwrap)
}
if let personNew = createPerson() {
print(personNew.firstName, personNew.lastName, personNew.age)
}
// Print: John Williams
Why the guard statement doesn't work here?