iOS SDK-子视图和操作

iOS SDK-子视图和操作,ios,uiviewcontroller,Ios,Uiviewcontroller,我有视图控制器(比如VC1)和第二个视图控制器(VC2),它有一个按钮(带有touchUpInside事件,在VC2中实现)。 现在,在VC1中,我执行以下操作: VC2 *vc = [Utils instantiateViewControllerFromMainStoryboard:@"myVC"]; [self.view addSubView:vc.view]; 但现在,当我点击VC2应用程序上的按钮时崩溃了?!为什么? 如何解决这个问题呢?问题很简单。第二个视图控制器中的按钮尝试调用VC

我有视图控制器(比如VC1)和第二个视图控制器(VC2),它有一个按钮(带有touchUpInside事件,在VC2中实现)。 现在,在VC1中,我执行以下操作:

VC2 *vc = [Utils instantiateViewControllerFromMainStoryboard:@"myVC"];
[self.view addSubView:vc.view];
但现在,当我点击VC2应用程序上的按钮时崩溃了?!为什么?
如何解决这个问题呢?

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

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


如果您需要保持现状,则必须让第一视图控制器保留对第二视图控制器的强引用,以便它不会被解除分配。

除非您提供更多信息,否则没有人可以帮助您解决此问题。一个好的开始是告诉我们异常是怎么说的,以及在VC2中设置按钮的代码,以及按钮调用的目标操作方法。如果您没有提供足够的信息。可以发布堆栈跟踪和引发的异常类型吗?日志中没有异常。它只是崩溃了。谢谢你!!你救了我:)