2016-05-18 21 views
0

我有一個collectionview和傳遞數據到另一個視圖我可以與出問題,但當我嘗試傳遞到兩個容器在同一個viewcontroller我意外地發現零展開一個可選值。segue數據從一個集合視圖到兩個容器在同一時間在swift 2

https://dl.dropboxusercontent.com/u/26491028/what-to-do.jpg

所以,我想在一個容器來顯示收集 並在其他容器我想設置標籤從選定項目的圖像。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "DetailSegueVC" { 

     if let detailsVC = segue.destinationViewController as? MainController { 
      ....... 
     } 
    } 
} 

我對每個容器

class Container1 : MainController{ 

override func viewDidload(){ 
    print(detaildata) =====> gives the error 
} 

........

class Container2 : MainController{ 

如果我設置maincontroller所有數據創建一個控制器工作:

class MainController: UIViewController { 

var detaildata : data! 

override func viewDidload(){ 
    print(detaildata) 
} 

但是,如果我試圖獲得從容器1或2中的segue傳遞的值我得到錯誤。

有人可以提供線索如何從集合中挖掘數據到maincontainer中嵌入的每個容器。

感謝諮詢

+0

試圖打印detaildata在viewWillAppea()? –

+1

你是如何將數據傳遞給'container1'和'container2'對象的? (請大寫一個類名的第一個字母;它減少了混淆。) –

+0

我嘗試過不同的方法,在MainController類中執行performSegueWithIdentifier(),我也嘗試從集合視圖執行它,我也嘗試過刪除嵌入的segue,並直接從收集視圖到容器1視圖...(對不起,大寫固定) –

回答

0

好吧,我給你一個例子(與你有結構),你如何做到這一點:

  • 基本上直接轉到MainViewController方法setupControllers什麼我在那裏設置了我想要放置的每個控制器(例如ImageViewController(Image),DataViewController(Label),儘管它取決於您的需要),並將這些控制器添加爲您的MainViewController的子項。

https://github.com/Abreu0101/PassingDataSample

+0

謝謝我要去學習我已經看到你已經刪除了自動嵌入segue。 –

相關問題