我想連接2個控制器與segue。我有一個6按鈕的視圖控制器,點擊一個按鈕後將顯示一個tableviewcontroller
。我所做的所有的鏈接,給標識符Segue公司等UIButton觸發Segue
tableviewcontroller
有根據哪個按鈕應顯示過濾後的結果數組觸發SEGUE
我應該怎麼寫prepareforsegue
方法?
這是我在做什麼
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "chooseBrand" {
if sender?.tag == 1 {
let destinationController = segue.destinationViewController as! SelectionTableViewController
let numberOfCameras = destinationController.Camera.count
}
的問題是,我收到此錯誤信息
「無法投型的價值 '的UINavigationController'(0x10a0ef588) 到'myApp.SelectionTableViewController'(0x108658b90)。「
如何根據按下哪個按鈕來定義selectiontableviewcontroller
中的tableview
的內容?
非常感謝任何形式的幫助:)
感謝您的回答。發件人是帶有標籤1的按鈕。你說得對,它不能運行destinationController.Camera.count,但我找到了使它工作的方法。我會嘗試將按鈕連接到@IBAction,但我怎麼能說tableviewcontroller根據點擊按鈕在表中顯示不同的值? – aspnet82
你所做的是,你可以發送某種標誌,這取決於哪個按鈕是發件人。您可以在TableViewController中設置一個變量,該變量設置爲0,1,2,3,4或5,然後根據此變量設置佈局,數據和內容。因此,在prepareForSegue中設置變量:destinationController.variable = 1.最好使用enum作爲變量。 – ClockWise
我更新了一個測試項目。 – ClockWise