2015-03-02 76 views
0

我有2个视图,首先输入一些数据,然后根据用户在第一个视图中输入的数据填写更多细节。ios swift:@IBAction处理以避免segue

Therfore我有这样一个功能:

@IBAction func addNewCardSet(sender: AnyObject) { ... 
let givenCardSetName = newCardSetName.text 
if givenCardSetName != "" { 
    ... save routine ... 
}else{   
    updateLabel("Please fill in a name") 
} 

我还添加了SEGUE到addNewCardSet按钮做SEGUE第二种观点。现在发生的事情是,如果用户没有输入名称,我可以看到消息标签上写着“请填写名称”,但是稍后片刻发生,并将用户发送到下一个视图,没有任何保存的数据...

如果我的保存方法没有发生错误,而且是时间做segue,我该怎么做才能“允许”segue?

回答

2

您可以实现shouldPerformSegueWithIdentifier方法:

override func shouldPerformSegueWithIdentifier(identifier: String?, sender: AnyObject?) -> Bool { 
    if let ident = identifier { 
    if ident == "YOUR IDENTIFIER HERE" { 
     let givenCardSetName = newCardSetName.text 
     if givenCardSetName != "" { 
      return true 
     }else{   
      return false 
     } 
     } 
    } 
    return true 
} 
+0

太好了!谢谢!! – user1555112 2015-03-02 12:25:42