Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Iphone 通过在interface builder中添加视图发现漏洞_Iphone_Uiview_Memory Leaks - Fatal编程技术网

Iphone 通过在interface builder中添加视图发现漏洞

Iphone 通过在interface builder中添加视图发现漏洞,iphone,uiview,memory-leaks,Iphone,Uiview,Memory Leaks,我在interface builder中添加视图,当我弹出视图时,发现了一个巨大的漏洞,当我删除除主视图之外的所有视图时,就没有发现漏洞。我正在使用导航基础应用程序和按钮剪辑,我应用动画,如幻灯片,但当我弹出主视图时,我发现泄漏。。。。。 在viewdidload中: myControlView.hidden = YES;//view1 alertView.hidden = YES;//view 2/ / 在按钮clik上,此动画不是每次都调用 myControlV

我在interface builder中添加视图,当我弹出视图时,发现了一个巨大的漏洞,当我删除除主视图之外的所有视图时,就没有发现漏洞。我正在使用导航基础应用程序和按钮剪辑,我应用动画,如幻灯片,但当我弹出主视图时,我发现泄漏。。。。。 在viewdidload中:

myControlView.hidden    =   YES;//view1
alertView.hidden        =   YES;//view 2/
/

在按钮clik上,此动画不是每次都调用

myControlView.frame   = CGRectMake(0, 480, 320, 480); // use real numbers
        [myMainView addSubview:myControlView];
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
        [UIView setAnimationDuration:0.4];
        myControlView.frame   = CGRectMake(0, 0, 320, 480);
        [UIView commitAnimations];
我又添加了两个视图并应用了相同的东西,我逐个删除了视图1,但仍然存在泄漏,我如何删除这些泄漏


注意:并非每次这些函数都调用ok。

UIView addSubview:方法保留子视图。如果调用removeFromSuperview:方法(释放子视图)在某个点上无法平衡这一点,那么将出现内存泄漏。

构建并分析以检查并发布代码中的确切行。

开心果是正确的。。。您不应该使用addSubview,因为您已经在interface builder中添加了它们

myControlView.frame   = CGRectMake(0, 480, 320, 480); // use real numbers
       ** [myMainView addSubview:myControlView];**
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
        [UIView setAnimationDuration:0.4];
        myControlView.frame   = CGRectMake(0, 0, 320, 480);
        [UIView commitAnimations];
删除此行:
[myMainView添加子视图:MyControl视图]

我在哪里使用addSubview?我在哪里使用addSubview?[myMainView addSubview:myControlView];我在哪里使用addSubview?