在Xcode 6.4中处理强大的参考周期

时间:2015-08-15 11:36:02

标签: ios xcode automatic-ref-counting instruments retain-cycle

最近,我收到了一个用Swift 1.2编写的相当庞大而丑陋的遗留代码,其中包含完整的单例和管理器相互引用。我的任务之一就是清理它并达到初始主屏幕的程度 - 当所有管理员,视图,单例都被停止并且没有。

我目前跟踪泄漏的方法很简单。在每个有意义的类中,我都在计算instancesCount,这是一个静态变量,在init中递增,在取消初始化过程中减少。当然,在二十一世纪那些所有成熟的工具,它找不到分配漏洞的聪明想法,但......我不知道为什么,Xcode仪器不是很有帮助。根据我的方法,他们指出一切都很好的麻烦。例如,乐器说我的经理之一从未被初始化 - 这不是真的,因为{strong}初始主屏幕中这位特定经理的instanceCount为0。怪异。

无论如何,所有这些都可以提出问题:如何检测为什么我的实例无法取消初始化以及谁继续引用

逐行阅读代码并找到保留周期的位置是没有意义的,因为代码库非常复杂,时间总是有限。

0 个答案:

没有答案