VC1
转到VC3
,其中有一个小键盘,并且可接受的预定最低数字输入到标签中。用户可以在此字符串的末尾添加数字或删除数字。当"接受"按下键,string.toInt()传递给VC1
,segue通过
@IBAction func unwindToSegue(segue: UIStoryboardSegue, sender:UIStoryboardSegue){
BetLabels[betSourceR].text = BetReturned
if BetReturned == ""{} else{
Chip[betSourceR].hidden = false}}
我需要实现,以便不接受低于最小值的string.toInt()以及某种覆盖功能,该功能会在向用户发出不允许此输入的警告时停止发生展开。
我将如何实现这一目标?
也许在VC3
func prepareForsegue中放置一些东西?还是另一种方法?
或者我可以断开"接受"从展开,并制作一个IBAction,如果在最小{警告用户,返回VC3}否则{VC1.unwindToSegue}
答案 0 :(得分:2)
要实现此目的,请将Controller
的{{1}}连接到自己的退出处,然后选择展开操作。
将此exit-segue设为VC3
“您的退出文本”
仍在segue.identifier
,为“接受”按钮创建VC3
。
IBAction
答案 1 :(得分:1)
我在这篇SO here中找到了一个很好的答案。
诀窍是在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