#ios #swift
#iOS #swift
Вопрос:
func addPitcher(sender: UIBarButtonItem) {
var alert = UIAlertController(title: "New Pitcher", message: "Enter Name", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Finish", style: UIAlertActionStyle.Default, handler: nil))
alert.addTextFieldWithConfigurationHandler({(textField: UITextField!) in
textField.placeholder = "Name"
textField.secureTextEntry = false
})
self.presentViewController(alert, animated: true, completion: nil)
let newName : String = alert.textFields[0] as String
println(newName)
}
Это функция, в которой мы пытаемся создать оповещение для запроса имени. Мы получаем ошибку «EXC_BAD_INSTRUCTION» в alert.addTextFieldWithConfigurationHandler({(textField: UITextField!) in
строке.
Как нам исправить эту ошибку или, что более важно, как нам извлечь текст из поля? Спасибо вам за всю помощь.
Комментарии:
1. Я столкнулся с аналогичной проблемой. Я считаю, что это просто ошибка при использовании бета-версии.
2. Итак, вы нашли другой способ ввода данных с помощью оповещения или любым другим способом? Или вы просто отказались от этой части?
3. На данный момент я просто написал эту часть на Objective-C и изменю ее, как только она заработает в Swift.
Ответ №1:
Вы получаете текстовое поле в виде строки. Черт возьми.
Кроме того, получите значение в обработчике.
alert.addAction(UIAlertAction(title: "Ok", style: .Default, handler:{ (alertAction:UIAlertAction!) in
let textf = alert.textFields[0] as UITextField
println(textf.text)
}))
ps иногда отображаемая ошибка возникает в местоположении, отличном от указанного в сообщении об ошибке.