iOS SDK - 子视图和操作

时间:2013-12-03 22:03:16

标签: ios uiviewcontroller

我有视图控制器(比如VC1)和第二视图控制器(VC2),它有一个按钮(带有touchUpInside事件,在VC2中实现)。 现在,在VC1中我这样做:

VC2 *vc = [Utils instantiateViewControllerFromMainStoryboard:@"myVC"];
[self.view addSubView:vc.view];

但是现在,当我点击VC2应用程序崩溃的按钮时?!为什么? 以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

问题很简单。第二个视图控制器中的按钮尝试调用VC2中的方法来处理事件。但是在编写代码时,VC2的实例早已不复存在,因为您从未对其进行过引用。

为什么要将第二个视图控制器的view添加到第一个视图控制器的视图?为什么不使用导航控制器并将第二个视图控制器推入视图?

如果您需要保持原样,那么您必须让第一个视图控制器保持对第二个视图控制器的强引用,以便它不被取消分配。