我试图显示一个 UIAlertController
和一个 UITextView
。当我添加行:
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
}
我得到一个 Runtime
错误:
致命错误: 在取消包装可选值时意外发现 nil
let alertController: UIAlertController = UIAlertController(title: "Find image", message: "Search for image", preferredStyle: .Alert)
//cancel button
let cancelAction: UIAlertAction = UIAlertAction(title: "Cancel", style: .Cancel) { action -> Void in
//cancel code
}
alertController.addAction(cancelAction)
//Create an optional action
let nextAction: UIAlertAction = UIAlertAction(title: "Search", style: .Default) { action -> Void in
let text = (alertController.textFields?.first as! UITextField).text
println("You entered \(text)")
}
alertController.addAction(nextAction)
//Add text field
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
textField.textColor = UIColor.greenColor()
}
//Present the AlertController
presentViewController(alertController, animated: true, completion: nil)
这是在我的 ViewController
中通过 IBAction
呈现的。
我已经从 给你下载了代码,它工作得很好。我复制并粘贴了这个方法到我的代码中,它中断了。自我在最后一行上的存在没有影响。