首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中管理subViews

在iOS中管理subViews
EN

Stack Overflow用户
提问于 2011-11-25 14:27:07
回答 2查看 338关注 0票数 1

我正在为我的应用程序创建一个自定义网格类的视图。我在上面放了很多子视图。我有必要根据用户的交互和新数据到达时,使用新的视图集重新加载Gird。

我为我的子视图分配内存,如下所示:

代码语言:javascript
复制
while(index < count)

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

[self addSubView:view];

[view release];

}

当我想刷新我的网格时,我从它们的superViews中删除了所有的子视图,并创建了一组新的网格瓦片(子视图),添加到自定义网格视图中并释放它们。

我做的事情正确吗?这会给我带来内存相关的问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-25 14:32:15

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

解释:

当您分配视图CustomGridTile时,其保留计数将变为1。当您将其添加为子视图时,其保留计数将变为2。当您释放视图时,保留计数将变为1。最后,当您删除子视图时,其保留计数将变为零,应该释放。

票数 2
EN

Stack Overflow用户

发布于 2011-11-25 14:30:05

发布视图可能会带来一些问题-我建议尝试在它们上进行自动发布或类似的事情

否则我会做的是,当你从superview中删除它时,也会释放它,但在你将它添加为子视图后释放它,这在过去给我带来了麻烦

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8265470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档