gpt4 book ai didi

ios - 由于内部保留周期,ViewController 没有被释放

转载 作者:行者123 更新时间:2023-12-02 02:33:58 24 4
gpt4 key购买 nike

我的一些 View Controller 在从 View 中弹出后不会被释放。我已经摆脱了其他强引用,因此我留下了通过引用形式 _externalObjectsTableForViewLoading 保存的内部保留周期。它是一个私有(private)的 UIViewController 属性,所以我无法自己清除它。我不知道iOS是否有API可以清除它,也不知道为什么弹出 View Controller 后它没有被清除。

我已经在 iOS 11 和 12 中以 Release模式运行应用程序进行了测试。在 Instruments 中运行应用程序会呈现与 Xcode 中看到的相同的楼梯图案,并保留 View Controller 。

有什么想法吗?提前致谢!

Retain Cycle

最佳答案

在您的问题中,一个 viewController 是否正在访问另一个 viewController?我们的问题是另一个 viewController 中存在对回调的非弱引用。

正如您和其他帖子中提到的,_externalObjectsTableForViewLoading 是一个 viewController 私有(private)属性,而是一个与 Storyboard相关的属性。这让我认为您的代码通过回调或通过对其实例的直接属性引用对另一个作为 View Controller 的对象具有强引用。

关于ios - 由于内部保留周期,ViewController 没有被释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201623/

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