gpt4 book ai didi

ios - 取消 Segue 并显示警报 - Xcode

转载 作者:行者123 更新时间:2023-11-28 09:03:13 26 4
gpt4 key购买 nike

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


}
}

我尝试查看有关 SO 的其他问题,但解决方案都引发了错误。我认为这是由于 Swift 更新到 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)

使用上面的代码用 UIAlertViewController 替换你的 UIAlertView。

编辑:

同时使 IBOutlet 成为可选项:

@IBOutlet weak var APTeams: UITextField?
@IBOutlet weak var APRounds: UITextField?
@IBOutlet weak var APBreakers: UITextField?

关于ios - 取消 Segue 并显示警报 - Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31578171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com