【发布时间】:2016-11-07 12:22:46
【问题描述】:
我最近在使用仪器进行分析时遇到了内存泄漏。
所以情况是我有一个继承自 UIViewController 的父 AVC 和一个称为 BVC 的 AVC 子类。这个 BVC 有一个辅助类的实例,它在 viewDidLoad 上被初始化。好吧,instruments 声称 viewDidLoad 存在内存泄漏。
这是我用来重现问题的示例代码。奇怪的是,如果 "a" 是 AVC 的成员并在 BVC "A" 中初始化,它不会泄漏。
import UIKit
class A
{
}
class AVC: UIViewController
{
override func viewDidLoad()
{
super.viewDidLoad()
}
}
class BVC: AVC
{
var a: A!
override func viewDidLoad()
{
super.viewDidLoad()
a = A()
}
}
所以问题是,为什么“a”是 BVC 而不是 AVC 的实例时会泄漏?此外,这是两种情况下的内存图的捕获。
谢谢
【问题讨论】:
标签: swift xcode memory-leaks