1

我正在从控制器层次结构中删除 viewController removeFromParentViewController,但deinit视图控制器没有被调用。我怎样才能检查什么对它有很强的参考价值?

有什么方法可以查看内存中存在的参考图吗?

这就是我的 swap` 方法的样子:

public class func swap(fromViewController: UIViewController!, toViewController: UIViewController!, containerViewController: UIViewController!) {

    fromViewController.willMoveToParentViewController(nil)
    containerViewController.addChildViewController(toViewController)
    toViewController.view.frame = containerViewController.view.bounds

    containerViewController.transitionFromViewController(fromViewController, toViewController: toViewController, duration: 0.2, options: UIViewAnimationOptions.TransitionCrossDissolve, animations: {}, completion: {finished in
        fromViewController.removeFromParentViewController()
        toViewController.didMoveToParentViewController(containerViewController)
    })
}

transitionFromViewController completion应该添加/删除目标/源视图吗?

有什么方法可以在 Swift中访问refCounta吗?viewController


我试图用Instruments. 弄清楚什么对视图控制器有很强的引用,但无法弄清楚。有什么帮助吗?

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

3

您可以将代码与 Instruments 一起使用。在 Xcode 中,选择产品 > 配置文件。当 Instruments 加载时,选择 Allocations 作为模板。

这将允许您跟踪哪些对象正在设置哪些强引用。

于 2015-05-28T11:43:10.490 回答