在其他UiViewController中访问UIViewController的func和变量

时间:2015-11-13 09:08:30

标签: ios swift uiviewcontroller

我的应用程序有导航控件我有2个UIViewController。 viewCon1是初始视图控制器。

然后我在导航控件中推送 viewCon2 。现在我想在没有静态逻辑的 viewCon2 中访问 viewCon1 的变量和函数。

我使用静态函数逻辑来获取viewCon1的Self,即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).

我如何以其他方式投射或实现所需的功能?

1 个答案:

答案 0 :(得分: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/