2016-08-16 6 views
-1

内のアラートを提示する際に警告私がUIAlertController提示したときに次の警告を得続ける:スウィフト - prepareForSegue方法

2016年8月16日13:29:48.138 MyProjectと、[602:98207] pushViewController:アニメーション:と呼ばれます既存の移行やプレゼンテーションが行われている間にオンにする。ナビゲーションスタックは更新されません。ここ

コードの関連部分です:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "toUserData" && didSelect 
    { 
     let vc:UserDataViewController = segue.destinationViewController as! UserDataViewController 
     vc.unitIndex = self.selectedIndex - 1 
    } 
    else 
    { 
     self.showAlert() 
     return 
    } 

} 

    func showAlert() 
    { 
     let alert = UIAlertController(title: "Error", message: "Are you sure that you set units properly?", preferredStyle: .Alert) 
     alert.addAction(UIAlertAction(title: "OK", style: .Default) { _ in }) 
    self.presentViewController(alert, animated: true, completion: nil) 
    } 

} 

私は他のプロジェクトで前にこのような構造を使用して、私は、このようなwariningを取得覚えていません。

また、アラートを表示してもトランジションに関する他のアクションが中断されないため、なぜ私はそれを取得するのか分かりません。このセグエの準備

override func shouldPerformSegueWithIdentifier(identifier: String, sender: AnyObject?) -> Bool { 

    if identifier == "toUserData" && didSelect 
    { 
     return true 
    } 
    else 
    { 
     self.showAlert() 
     return false 
    } 
} 
+1

:事前に

おかげで –

+0

その時点で 'assert()'がおそらくより良いアクションでしょう – Paulw11

答えて

1

は、私はすべてがセグエを実行するために、すべての設定されている場合、物事のこの種は、 shouldPerformSegueWithIdentifier方法を使用して行われるべきチェックするために間違った方法を使用しました名前はすでに何かが起こることを私たちに伝えています、なぜあなたはいくつかのセグの上に何かを提示しようとしていますか?
関連する問題