當我按下按鈕時,我想啓動新的視圖控制器,我想將一些信息傳遞到新的視圖控制器。這是通過使用全局變量沒有任何segue方法來處理的。支持方法和他們的目標
但是,如果我使用segue方法,我必須使用哪一個?
performSegue()或shouldPerformSegue()
當我按下按鈕時,我想啓動新的視圖控制器,我想將一些信息傳遞到新的視圖控制器。這是通過使用全局變量沒有任何segue方法來處理的。支持方法和他們的目標
但是,如果我使用segue方法,我必須使用哪一個?
performSegue()或shouldPerformSegue()
你必須調用
func performSegue(withIdentifier identifier: String,
sender: Any?)
以上方法將啓動您的賽格瑞,你可以把你的下一個視圖控制器。
您的信息
func shouldPerformSegue(withIdentifier identifier: String,
sender: Any?) -> Bool
該方法將返回布爾值,這將指定是否執行SEGUE與否。你有控制器,你可以通過方法返回true/false來允許segue執行或不執行。
真正 - Segue公司是允許的,將被執行
假 - Segue公司是不允許的,將被中止。
如果您想覆蓋您在故事板中定義的任何segue並希望在運行時執行任何其他操作,則可以使用此方法。
你必須使用performSegue
如果你想以編程方式啓動SEGUE。
使用shouldPerformSegue
您可以添加額外的邏輯來決定是否發生啓動的segue真的應該發生或不發生。
最後在prepareForSegue
你可以 - 顧名思義 - 準備segue(例如傳遞一些數據到目標視圖控制器)。
您是否嘗試過'準備(for segue:sender:)'? – Tj3n
第一個,第二個是委託方法。請閱讀https://developer.apple.com/documentation/uikit/uistoryboardsegue – vadian
不,我聽說我們必須在preprare()方法 – Goktug