2011-11-25 80 views
1

我正在为我的应用程序创建自定义网格类型的视图。我正在对它们进行很多子视图。我有必要根据用户的交互和新数据到达时重新加载Gird新的视图集。在iOS中管理子视图

我分配内存为我的子视图这样的:

while(index < count) 

CustomGridTile *view = [[CustomGridTile alloc] initWithFrame:frame]; 

[self addSubView:view]; 

[view release]; 

} 

当我想刷新我的网,我从他们的superViews删除所有子视图,并创建一套新的网格小块(子视图)的,添加到自定义Gird查看并发布它们。

我是否正确地做事?这能否给我带来记忆相关的问题?

回答

2

只要你删除子视图,它应该释放内存。

说明:

当您分配视图CustomGridTile其保留计数为1。当你将它添加为子视图,其保留计数将成为2.当您松开,保留计数变为1。最后,当你删除子视图,其保留计数将变为零,应该被释放。

0

释放的观点可以带来一些问题 - 我建议尝试沿着这些线路对他们产生自动释放什么

否则我会做的是,当你从上海华盈释放删除它为好,但之后你释放添加它作为子视图给了我过去的麻烦