Этот IBAction вызывает UIAlertController с двумя текстовыми полями.Одна коробка для имени и одна для возраста.Я пытаюсь сделать так, чтобы пользователю не нужно было указывать свой возраст, если он этого не хочет.прямо сейчас, если они не вводят свой возраст, приложение вылетает прямо в строке person.age = Int16(points!)!
, говорящей «Поток 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения».Я пытаюсь использовать оператор if else, чтобы остановить это.Чего же мне не хватает?
@IBAction func addRowBtn(_ sender: Any) {
let alert = UIAlertController(title: "Add Person", message: nil, preferredStyle: .alert)
alert.addTextField { (textField) in
textField.placeholder = "Task"
}
alert.addTextField { (textField) in
textField.placeholder = "Points"
textField.keyboardType = .numberPad
}
let action = UIAlertAction(title: "post", style: .default) { (_) in
let name = alert.textFields?.first!.text!
let age = alert.textFields?.last!.text!
if name != nil && age != nil {
let person = Person(context: PersistenceServce.context)
person.name = name
person.age = Int16(age!)!
PersistenceServce.saveContext()
self.people.append(person)
self.table.reloadData()
}
if name != nil && age == nil {
let person = Person(context: PersistenceServce.context)
person.name = name
person.age = 0
PersistenceServce.saveContext()
self.people.append(person)
self.table.reloadData()
}
}
alert.addAction(action)
present(alert, animated: true, completion: nil)
}
}