Swift - 存储 UIAlertController 文本值
Swift - Store UIAlterController text value
(使用 Swift 2 和 Xcode 7)
我有一个提示用户输入名称的 UIAlertController。
我在获取用户输入的值时遇到了困难,所以任何提示都很好。
我有以下代码;
func promptUserToEnterSessionName() -> String{
let sessionNameController = UIAlertController(title: "Save your yoga session", message: "Please enter session name", preferredStyle: .Alert)
let cancelAction = (UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil))
let saveAction = (UIAlertAction(title: "Save", style: UIAlertActionStyle.Default, handler: enteredSessionName))
sessionNameController.addTextFieldWithConfigurationHandler {
(textField) -> Void in
self.sessionName = textField
}
sessionNameController.addAction(cancelAction)
sessionNameController.addAction(saveAction)
self.presentViewController(sessionNameController, animated: true, completion: nil)
//savedSessionName = (sessionNameController.textFields![0] as UITextField).text!
//print(savedSessionName)
return ""
}
func enteredSessionName(alert: UIAlertAction!){
print("sessionName" + String(sessionName))
}
所以另一种可能的解决方案是将整个 UITextField
保存在您的成员变量中。
var textField: UITextField?
sessionNameController.addTextFieldWithConfigurationHandler {
(textField) -> Void in
self.textField = textField
}
func enteredSessionName(alert: UIAlertAction!){
print("sessionName" + String(self.textField.text))
}
(使用 Swift 2 和 Xcode 7)
我有一个提示用户输入名称的 UIAlertController。
我在获取用户输入的值时遇到了困难,所以任何提示都很好。
我有以下代码;
func promptUserToEnterSessionName() -> String{
let sessionNameController = UIAlertController(title: "Save your yoga session", message: "Please enter session name", preferredStyle: .Alert)
let cancelAction = (UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel, handler: nil))
let saveAction = (UIAlertAction(title: "Save", style: UIAlertActionStyle.Default, handler: enteredSessionName))
sessionNameController.addTextFieldWithConfigurationHandler {
(textField) -> Void in
self.sessionName = textField
}
sessionNameController.addAction(cancelAction)
sessionNameController.addAction(saveAction)
self.presentViewController(sessionNameController, animated: true, completion: nil)
//savedSessionName = (sessionNameController.textFields![0] as UITextField).text!
//print(savedSessionName)
return ""
}
func enteredSessionName(alert: UIAlertAction!){
print("sessionName" + String(sessionName))
}
所以另一种可能的解决方案是将整个 UITextField
保存在您的成员变量中。
var textField: UITextField?
sessionNameController.addTextFieldWithConfigurationHandler {
(textField) -> Void in
self.textField = textField
}
func enteredSessionName(alert: UIAlertAction!){
print("sessionName" + String(self.textField.text))
}