Ios 保留视图控制器
我使用MJDetailViewController作为弹出式控制器,用于管理我的应用程序上的应用程序内购买 由于这个视图控制器可以被多次调用,我不能以通常的方式释放它Ios 保留视图控制器,ios,uiviewcontroller,retain,ibaction,dealloc,Ios,Uiviewcontroller,Retain,Ibaction,Dealloc,我使用MJDetailViewController作为弹出式控制器,用于管理我的应用程序上的应用程序内购买 由于这个视图控制器可以被多次调用,我不能以通常的方式释放它 - (IBAction)8Button { MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil]; [self pres
- (IBAction)8Button {
MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil];
[self presentPopupViewController:detailViewController animationType:MJPopupViewAnimationSlideTopTop];
[detailViewController release];
}
就像用户再次点击它一样,它会导致应用程序崩溃
由于它没有被释放,导致内存泄漏,我需要修复。我假设我需要保留detailViewController并在dealloc阶段释放它,但是我不知道如何做到这一点
加载detailViewController的代码如下所示:
- (IBAction)8Button {
MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil];
[self presentPopupViewController:detailViewController animationType:MJPopupViewAnimationSlideTopTop];
}
非常欢迎提供任何帮助…要关闭详图视图控制器,您不应该释放它,您应该执行以下操作:
[self dismissPopupViewControllerWithanimationType:MJPopupViewAnimationFade];
这就是它目前的设置,因为这是默认设置,但是当我在Xcode上分析它时,它给出了“存储在‘detailViewController’中的对象可能泄漏用户如何‘再次单击’?关闭后,popupviewcontroller位于主视图控制器的顶部。当点击背景时,它会关闭popupviewcontroller,以便再次打开它的按钮仍在主视图控制器上,以便用户可以再次选择它。但这将创建一个新的显示,因为它的唯一引用存储在局部变量中,如何“多次调用”?