【发布时间】:2011-05-01 20:33:39
【问题描述】:
我有一个方法,我在其中分配和初始化一个
UIView (`tabsClippedView = [[[UIView alloc] initWithFrame:tabsClippedFrame] autorelease];`).
这个视图添加了另一个视图
(`tabsView = [[[UIView alloc] initWithFrame:tabsFrame] autorelease];`).
然后我启动几个按钮
(e.g. `UIButton* btn = [[[UIButton alloc] initWithFrame:frame] autorelease];`)
并将它们添加到视图的子视图中。
现在,我有时需要删除所有按钮并重新分配它们。是删除整个视图的最佳方式还是删除我添加按钮的子视图?
我需要怎么做(没有内存泄漏等)? 会不会很简单
self.tabsView = nil;
是否足以删除视图及其所有子视图(即按钮)?
或者最好也删除超级视图,完全从头开始:
self.tabsClippedView = nil;
【问题讨论】:
-
我在另一个 stackoverflow 问题中找到了答案:stackoverflow.com/a/2156046/374873
标签: iphone objective-c cocoa-touch uiview