【发布时间】:2014-11-06 11:12:06
【问题描述】:
很好established-retainCount 是无用的,甚至——或者更确切地说特别是(?)——用于调试目的。
那么,假设我们身处一个没有 ARC 的世界,有哪些策略可以调试内存相关问题?当我认为某个对象被删除时,如何验证它是否已被删除?
我问这个问题是因为,作为 Objective-c 的学习者,我想验证在一些不太明显的情况下(例如在桥接转换期间发生所有权转移时)资源何时被释放。
【问题讨论】:
-
在
-dealloc中致电NSLog()。让它喊出指针和正在释放的对象的类。和/或在dealloc中放置一个断点。 -
-dealloc的调用方式与 c++ 析构函数类似吗? -
是的。 [15 个字符]
-
是的,它像 c++ detrutior 一样工作。唯一不同的是,如果没有 ARC,您必须手动调用
[super dealloc]。 -
试试内存检测工具(效果很好)。选择
Product/Profile。
标签: objective-c memory-management memory-leaks