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

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


但是现在,当我点击VC2应用程序上的按钮时会崩溃吗?为什么?
以及如何解决呢?

最佳答案

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

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

如果您需要保持原样,则必须让第一个视图控制器对第二个视图控制器保持强烈的引用,以使它不会被释放。

关于ios - iOS SDK- subview 和操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20362635/

10-12 04:40