我已經從tableView控制器中分離了我的tableView委託和數據源。到目前爲止它的工作很棒。不過,我現在已經到了需要實現didSelectRowAtIndexPath委託方法的地方。當這個方法被調用時,我需要從我的視圖控制器執行segue,但是我沒有從委託類中引用視圖控制器來調用像[myViewController performSegueWithIdentifier的方法...從tableView委託類中調用視圖控制器segue
什麼是正確的方法處理這個?我只是將一個屬性添加到我的委託來存儲視圖控制器?這看起來不是一個好主意,因爲視圖控制器已經有了對委託的引用。我如何參考VC?我想我可以發佈通知,但必須有比這更好的方法。我總是隻使用視圖控制器作爲委託,所以我從來沒有處理過這個問題。
,那麼你就不能使用didSelectRowAtIndexPath方法,因爲這被prepareForSegue後調用。最初,我將segue設置爲手動segue,這就是爲什麼我需要從我的代理的didSelectRowAtIndexPath內調用performSegueWithidentifier。然而,我最終以你的方式做了,並將segue從單元格更改爲VC,然後使用prepareForSegue並使用self.tableView.indexPathForSelectedRow.row來索引我的數據源。所以最後你是對的,我不需要任何我認爲我做的。謝謝 – 2014-09-11 02:58:09