2015-11-13 46 views
0

我的應用程序有導航控件,我有2個UIViewController。 viewCon1是初始視圖控制器。在其他UiViewController中訪問UIViewController的func和變量

然後我在導航控制中推動了viewCon2。現在我想訪問變量和功能viewCon1viewCon2沒有靜態邏輯。

我使用的靜態FUNC邏輯得到viewCon1即WK_DshBrd

let dashBoardObj = WK_DshBrd.getDasBoardObject() as! WK_DshBrd 
      dashBoardObj.unReadMsgsCaseArr?.append(caseNo) 

的自我,但我得到的運行

Could not cast value of type 'Watch_Extension.WK_DshBrd' (0x7f1e0) to 'Watch_Extension.WK_DshBrd' (0x7ed78). 

以下錯誤我怎樣才能將它轉換或替代的方式獲得所需functioanlity?

+0

我得到了更好的答案http://stackoverflow.com/questions/33820903/get-wkinterfacecontroller-reference-while-pushing-interfacecontroller – Hassy

回答

0

您可以在第一個控制器中使用prepareForSegue方法。在那裏,你可以檢索第二視圖控制器是這樣的:

let controller = segue.destinationViewController as! SecondViewController 
controller.data = "test" //PASS DATA HERE 

最終,你甚至可以通過參考第一視圖控制器在這裏,但不推薦。

編輯:

當你使用watchkit你可以通過上下文可變數據。檢查你本教程:http://www.tech-recipes.com/rx/52810/how-do-i-pass-data-between-screens-in-my-apple-watch-apps/

+0

我不能使用賽格,我的要求是我需要推稍後查看控制器。不通過Segue – Hassy

+0

那麼你如何切換到第二個視圖控制器。如果你使用的是instantiateViewControllerWithIdentifier,你也可以在這裏傳遞數據。 – Makalele

+0

我正在開發WatchKit和使用pushControllerWithName(「ViewCon2」,上下文:無)推InterfaceController – Hassy

相關問題