我从这个网站得到了教程:http://jamesleist.com/ios-swift-tutorial-stop-segue-show-alert-text-box-empty/
这是我现在的密码。它只是不工作,这会导致应用程序崩溃,因为如果任何字段为空,则下一个ViewController将崩溃。
import Foundation
import UIKit
import Darwin
class View3on3 : UIViewController, UITextFieldDelegate {
@IBOutlet weak var APTeams: UITextField!
@IBOutlet weak var APRounds: UITextField!
@IBOutlet weak var APBreakers: UITextField!
var AP1: String = String()
var AP2: String = String()
var AP3: String = String()
override func viewDidLoad()
{
super.viewDidLoad()
initializeTextFields()
}
func initializeTextFields()
{
APTeams.delegate = self
APTeams.keyboardType = UIKeyboardType.NumberPad
APRounds.delegate = self
APRounds.keyboardType = UIKeyboardType.NumberPad
APBreakers.delegate = self
APBreakers.keyboardType = UIKeyboardType.NumberPad
}
@IBAction func userTappedBackground(sender: AnyObject)
{
view.endEditing(true)
}
override func shouldPerformSegueWithIdentifier(identifier: String!, sender: AnyObject!) -> Bool {
if identifier == "segueTest" {
if (APTeams.text!.isEmpty) {
let alert = UIAlertView()
alert.title = "No Text"
alert.message = "Please Enter Text In The Box"
alert.addButtonWithTitle("Ok")
alert.show()
return false
}
else {
return true
}
}
// by default, transition
return true
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "segueTest"){
var passs = segue.destinationViewController as! View3on3Results
passs.AP1 = APTeams.text!
passs.AP2 = APRounds.text!
passs.AP3 = APBreakers.text!
}
}
}
我试着看其他的问题,但是所有的答案都有错误。我认为这是由于迅速更新到2.0。我可能错了-这是很新的。
最佳答案
我希望是因为AlertView。在swift 2.0中,UIAlertView被UIAlertController替换:
let alertController: UIAlertController = UIAlertController(title: "Hello", message: "Are you sure?", preferredStyle: UIAlertControllerStyle.Alert)
let okAction = UIAlertAction(title: "Yes", style: UIAlertActionStyle.Default, handler: nil)
alertController.addAction(okAction)
presentViewController(alertController, animated: true, completion: nil)
使用上述代码将UIAlertView替换为UIAlertViewController。
编辑:
还可以选择IBOutlet:
@IBOutlet weak var APTeams: UITextField?
@IBOutlet weak var APRounds: UITextField?
@IBOutlet weak var APBreakers: UITextField?