![](/img/trans.png)
[英]SWIFT: how to use performSegueWithIdentifier from different class
[英]Swift - Impossible to use performSegueWithIdentifier
我已經為這個問題苦苦掙扎了幾個小時。 我有一個帶有tableView和自定義單元格的視圖。 我想做的是執行一個自定義單元格在我的viewController中的segue。 我做的第一件事是在cell.swift中創建一個類型為“ viewController”的變量“ parent”。
weak var parent : ViewController!
之后,我只是想像這樣執行segue:
parent.performSegueWithIdentifier("eventDetails", sender: parent)
而且我有以下錯誤: Receiver (<Deevent.ViewController: 0x7fb99074f5d0>) has no segue with identifier 'eventDetails'
所以我嘗試了其他方法...我在ViewController中創建了一個按鈕,並將segue連接到下一個視圖(所有情節提要文件中的內容)
在我的viewController.swift中,我創建了以下函數
func viewEventDetails() {
performSegueWithIdentifier("eventDetails", sender: self)
}
而這個在我的cell.swift中:
func viewEvent(sender: AnyObject) {
parent.viewEventDetails()
}
因此,當我從單元格中調用它時,它會崩潰,並返回與以前相同的錯誤,但是當我單擊該按鈕時,它會起作用。 我什至嘗試以編程方式單擊按鈕btnDetails.sendActionsForControlEvents(UIControlEvents.TouchUpInside)
,但出現了完全相同的錯誤。
我已經嘗試清理項目並將其從模擬器中刪除。 我真的很想念這里...希望有人能幫助我。
謝謝 !
聽起來您需要給segue一個標識符。
視圖控制器可以具有多個序列,因此您需要定義要使用的序列。 就您而言,在您的代碼中,您正在使用標識符"eventDetails"
。
假設您使用的是Storyboard,則需要單擊兩個視圖控制器之間的segue箭頭,然后在右側的Attributes Inspector中將Identifier值設置為"eventDetails"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.