我是Swift的新手,我想知道如何在用戶點擊其中一個表視圖單元格時執行segue。
在UITableViewCell控制器中,我試著輸入performSegue并等待Xcode的提示,如下所示
override func setSelected(_ selected: Bool, animated: Bool) {
if selected {
performSegue() <- HERE {
}
super.setSelected(selected, animated: true)
}
我找不到任何提示,所以我想我對這個概念有誤解。
有什么方法可以在單元格被點選時執行segue嗎?我還想向目的地發送一些資料,所以如果你能提供一種向目的地發送資料的方法,那就太好了。
預先感謝你。
uj5u.com熱心網友回復:
代碼中的分段:
因此,首先,當一個單元格(表視圖單元格)被點選時,執行某些操作的好方法是使用tableView didSelectRowAt方法:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//將你想在單元格被點擊時執行的代碼放在這里,例如:
performSegue(withIdentifier: "identifier", sender Any?) //確保你的識別符號有意義,最好是容易記憶和容易識別的東西。
}
- segue
identifier只是為了讓swift/interface builder知道你指的是哪個segue。 sender是導致執行segue的東西,一個例子是UIButton。
接下來,你需要在視圖控制器中準備隔離,該控制器將使用以下方法被隔離:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
//為這個segue做任何必要的設定,比如傳入資料加載所需的視圖,并指定你希望如何執行segue,比如你希望視圖被推送,或以彈出式視窗呈現等等。
if let vc = segue.destination as? ViewController { //span> 下轉到所需的視圖控制器。
//在這里配置視圖控制器...。
}
}
注意:你也可以在界面生成器中通過控制拖動諸如UIButton之類的東西來創建segue,然后在右側面板的Attributes Inspector中設定segue識別符號:
界面生成器中的分段:
這段視頻也可能對你有用,可以讓你更清楚地了解segue以及如何執行和準備它們等。 https://youtu.be/DxCydBmOqXU
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/311752.html
標籤:


