Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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 循环中的内存管理_Iphone_Objective C_Loops_Memory Leaks - Fatal编程技术网

Iphone 循环中的内存管理

Iphone 循环中的内存管理,iphone,objective-c,loops,memory-leaks,Iphone,Objective C,Loops,Memory Leaks,单击表项时,UINavigationController正在推送UIViewController。出现的视图通过如下循环创建大量ui标签: for(i=0, i < 50, i++) { pointer = [[UILabel alloc] initWithFram:CGRectMake(i, 5, 5, 5)]; pointer.text = ...; ... [scrollView addSubView:pointer]; [pointer re

单击表项时,
UINavigationController
正在推送
UIViewController
。出现的视图通过如下循环创建大量
ui标签

for(i=0, i < 50, i++)
{
    pointer = [[UILabel alloc] initWithFram:CGRectMake(i, 5, 5, 5)];
    pointer.text = ...;
    ...
    [scrollView addSubView:pointer];
    [pointer release];
}
for(i=0,i<50,i++)
{
指针=[[UILabel alloc]initWithFram:CGRectMake(i,5,5,5)];
pointer.text=。。。;
...
[滚动视图添加子视图:指针];
[指针释放];
}
当视图消失时,如何释放所有内存?指针“指针”只指向最后一个
UILabel
,这不是一个问题吗?对于另一个
ui标签
没有更多的指针了?

因为之前加载了一些视图之后,视图的推送速度非常慢。

您不需要手动释放所有UILabel。你已经在循环中释放它们了。因此,要正确处理内存,只需确保scrollView被正确释放。

您应该将UILabel*指针设置为该循环中的局部变量。为了明确你不需要在其他地方使用指针,因为你不需要

您保留(alloc)它们,scrollView保留它们,您释放它们。当scrollview被释放时,它将释放UILabel。都是


一切都很好

好吧。。。正在释放滚动视图。。。我真是个傻瓜:)谢谢你的快速回答!