Как вы используете оповещение для запроса текста в iOS с помощью Swift?

#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 иногда отображаемая ошибка возникает в местоположении, отличном от указанного в сообщении об ошибке.