我从这个网站得到了教程: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?

07-24 09:44
查看更多