如何进行条件检查,然后继续放松

VC1进入VC3 ,键盘有一个预定义的最低可接受的数字input到一个标签中。 用户可以在该string的末尾添加一个数字或删除一个数字。 当按下“Accept”键时,string.toInt()被传递给VC1并且segue被放开

 @IBAction func unwindToSegue(segue: UIStoryboardSegue, sender:UIStoryboardSegue){ BetLabels[betSourceR].text = BetReturned if BetReturned == ""{} else{ Chip[betSourceR].hidden = false}} 

我需要实现,以便不接受低于最小值的string.toInt()被接受,并且某种重复func阻止发生放松,同时向用户发出警告,表明这个input是不可接受的。

我将如何实现这一点? 也许在VC3 func prepareForsegue中放置一些东西? 还是另一种方法?

或者我可以断开“接受”放松,并做一个IBAction,如果在最低{警告用户,返回到VC3}否则{VC1.unwindToSegue}

为此,请将VC3 Controller连接到自己的出口并select展开动作。

给这个exit-segue一个segue.identifier “你的退出文本”

仍然在VC3 ,为“接受”button创build一个IBAction

 @IBAction func accept(sender: AnyObject) { if //Condition X is true {performSegueWithIdentifier("YOUR EXIT TEXT", sender: self)} else { //Do this } 

我在这里find了一个很好的答案。

诀窍是覆盖VC3中的shouldPerformSegueWithIdentifier 。 在里面,你可以把你的条件检查,并返回false,以防止segue应该停止。 否则,返回true以使segue发生。 以下是您的案例的示例代码。

 override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool { if identifier == "submitUnwindSegue"{ if string.toInt() < minimum { //fire an alert controller about the error return false } } //Continue with the segue return true