保留计数为3的对象

时间:2011-03-24 00:22:42

标签: iphone objective-c memory-management uiview

我有一个保留计数为3的UIView,我只是想知道如何释放它以使保留计数为0?

提前致谢。

3 个答案:

答案 0 :(得分:6)

您是使用+ alloc或+ new创建的,还是使用名称中包含“copy”一词的方法创建的?你发了一条消息吗?如果没有,您不拥有它,不得释放它。并停止查看保留计数;这样做只会使实际上非常简单的内存管理规则过于复杂。

答案 1 :(得分:2)

永远不要使用保留计数进行调试。框架在幕后做了一些疯狂的事情,并且经常会导致你的保留计数与你认为应该是的非常不同。随时发布,除此之外不要担心。

official documentation for -retainCount中所述,

  

重要说明:此方法在调试内存管理问题时通常没有价值。因为任何数量的框架对象可能保留了一个对象以保存对它的引用,而同时自动释放池可能在对象上保留任意数量的延迟版本,所以您不太可能从此获取有用信息方法

不要依赖-retainCount。其他对象可能会在您不知情的情况下保留您的对象,而自动释放的对象可能会给您一个错误的实际保留计数印象。

答案 2 :(得分:-1)

[object release];

但保留计数可能为3,因为视图当前正在使用中。您只需要释放一次。无论使用什么(如父视图或数组),它将在不再需要时释放它。您是否需要从父视图中删除它?