回答
你是用+ alloc还是+ new创建的,还是用名称中有“copy”这个词的方法创建的?你发给它一个 - 保留信息吗?如果不是,你不拥有它并且不能释放它。并停止看保留计数;这样做只会使实际上非常简单的一组内存管理规则过于复杂。
[object release];
但保留计数可能是3,因为视图当前正在使用中。你只需要释放一次。无论使用什么(如父视图或数组),都会在不再需要时释放它。你可能需要从父视图中删除它?
您甚至不需要释放它一次,除非您使用暗示所有权的方法创建它,或者向它发送一个“保留”消息。 – 2011-03-24 00:41:23
当然,但我正在阅读原始问题中的内容。 – Vagrant 2011-03-24 04:02:57
切勿使用保留计数进行调试。框架在幕后做了一些疯狂的事情,并且经常会导致您的保留数量与您认为应该存在的差异很大。随时发布,不用担心。
正如official documentation for -retainCount
指出,
重要:此方法在调试内存管理问题没有价值的典型。因为任何数量的框架对象都可能保留了一个对象以保存对它的引用,同时autorelease池可能在对象上保存了任意数量的延迟发布,所以很难从此获得有用的信息方法。
不要依靠-retainCount
。其他对象可能会在您不知道它的情况下保留您的对象,而自动释放对象可能会给您留下实际保留计数的错误印象。
- 1. 如何修复保留计数为+1的泄漏对象?
- 2. 为tableView保留计数:cellForRowAtIndexPath:
- 3. 释放分配的对象(方法保留具有+1保留计数的objective-c对象)
- 4. C++对象保留?
- 5. 对象与+0保留计数返回给呼叫方,其中一个+1(拥有)保留计数预计
- 6. 的UIView不保留数组的对象
- 7. 如何打印对象的保留计数?
- 8. iPhone,方法返回+1保留计数的客观c对象
- 9. 方法返回一个+1 Objective-C的对象保留计数
- 10. 保留块中的对象
- 11. 保留对象的UIViewController
- 12. 的iOS:关于CF对象和目标c对象保留计数
- 13. 将对象分配给本地对象增加保留计数的目标C
- 14. NSOperation的保留计数行为
- 15. NSMutableArray保留计数
- 16. UITableView保留计数
- 17. iOS保留计数
- 18. 类保留计数
- 19. Django - 删除对象,保留父对象?
- 20. 如何用+1保留计数(ARC)修复Core Foundation对象?
- 21. 由于保留计数而释放对象
- 22. 保留IBOutlets的计数
- 23. 为什么我的对象数组不保留它被分配的对象?
- 24. 如何在对象中保留数据
- 25. 2d数组对象不保留值
- 26. NSUndoManager是否保留对象?
- 27. 保留对象在objective-c
- 28. NSThread对象保留两次?
- 29. realm.io保留子对象
- 30. RestKit保留CoreData对象
永远不要看对象的保留计数。这是误导足够无用的。 – kubi 2011-03-24 00:37:20
顺便提一下,发布有关导致您查看解决方案的保留计数的任何问题的单独问题可能很有用。 – 2011-03-24 00:56:24