我有一个保留计数为3的UIView,我只是想知道如何释放它以使保留计数为0?
提前致谢。
答案 0 :(得分:6)
您是使用+ alloc或+ new创建的,还是使用名称中包含“copy”一词的方法创建的?你发了一条消息吗?如果没有,您不拥有它,不得释放它。并停止查看保留计数;这样做只会使实际上非常简单的内存管理规则过于复杂。
答案 1 :(得分:2)
永远不要使用保留计数进行调试。框架在幕后做了一些疯狂的事情,并且经常会导致你的保留计数与你认为应该是的非常不同。随时发布,除此之外不要担心。
如official documentation for -retainCount
中所述,
重要说明:此方法在调试内存管理问题时通常没有价值。因为任何数量的框架对象可能保留了一个对象以保存对它的引用,而同时自动释放池可能在对象上保留任意数量的延迟版本,所以您不太可能从此获取有用信息方法
不要依赖-retainCount
。其他对象可能会在您不知情的情况下保留您的对象,而自动释放的对象可能会给您一个错误的实际保留计数印象。
答案 2 :(得分:-1)
[object release];
但保留计数可能为3,因为视图当前正在使用中。您只需要释放一次。无论使用什么(如父视图或数组),它将在不再需要时释放它。您是否需要从父视图中删除它?