Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 保留视图控制器_Ios_Uiviewcontroller_Retain_Ibaction_Dealloc - Fatal编程技术网

Ios 保留视图控制器

Ios 保留视图控制器,ios,uiviewcontroller,retain,ibaction,dealloc,Ios,Uiviewcontroller,Retain,Ibaction,Dealloc,我使用MJDetailViewController作为弹出式控制器,用于管理我的应用程序上的应用程序内购买 由于这个视图控制器可以被多次调用,我不能以通常的方式释放它 - (IBAction)8Button { MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil]; [self pres

我使用MJDetailViewController作为弹出式控制器,用于管理我的应用程序上的应用程序内购买

由于这个视图控制器可以被多次调用,我不能以通常的方式释放它

- (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,以便再次打开它的按钮仍在主视图控制器上,以便用户可以再次选择它。但这将创建一个新的显示,因为它的唯一引用存储在局部变量中,如何“多次调用”?