gpt4 book ai didi

ios - 在 Xcode 6.4 中处理强引用循环

转载 作者:行者123 更新时间:2023-11-29 12:15:51 25 4
gpt4 key购买 nike

最近,我收到了一段用 Swift 1.2 编写的相当大且丑陋的遗留代码,其中充满了相互引用的单例和管理器。我的任务之一是清理它并到达初始主屏幕 - 当所有管理器、 View 、单例停止并归零时。

我目前跟踪泄漏的方法很简单。在每个有意义的类中,我都在计算 instancesCount,这是一个静态变量,它在 init 中递增,并在取消初始化过程中减少。当然,在拥有所有成熟工具的 21 世纪,查找分配泄漏并不是一个聪明的主意,但是......我不知道为什么,Xcode 工具不是很有帮助。根据我的方法,他们指出了一切都很好的问题。例如,仪器显示我的一位经理从未被取消初始化 - 这不是真的,因为 instanceCount初始主屏幕中对于这个特定的经理是 0。很奇怪。

无论如何,所有这一切都可能以问题结束:如何检测为什么我的实例无法取消初始化以及谁保持对它的引用

逐行阅读代码并查找保留循环的位置是毫无意义的,因为代码库非常复杂,而且时间(一如既往)是有限的。

最佳答案

将工具与分配跟踪模板一起使用。它跟踪每个对象的引用计数变化,并显示它何时增加和何时减少。这里不需要人工监控。

关于ios - 在 Xcode 6.4 中处理强引用循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32024309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com