setNeedsDisplay发布子视图?

时间:2011-06-27 00:41:09

标签: objective-c uiview subview setneedsdisplay

如果自定义视图根据条件if向自身添加多个子视图,稍后会在此视图中调用setNeedsDisplay,其中条件不再是true,因此这些子视图未创建,是drawRect期间内存中自动释放的“旧”子视图吗?

或者,我应该担心检查是否存在子视图,然后发布它们,然后setNeedsDisplay

我想最终我的问题是关于setNeedsDisplay的内存含义,如果它有效地从内存中删除旧视图及其子视图,然后从头开始重新创建视图?

1 个答案:

答案 0 :(得分:1)

-setNeedsDisplay只设置一个标记,表示“此视图需要重绘”。据我所知,它不会保留或释放任何内容,也不会添加或删除任何子视图。

我不确定你要做什么,但听起来你太担心了。当应用程序的状态以需要重绘给定视图的方式更改时,调用-setNeedsDisplay。如果您随后从视图层次结构中删除了该视图,则不会导致任何问题。