我已经能够提炼出我写过的应用程序中出现的问题,并在一个简单的例子中重现了它.
鉴于这些类:
class Thing { var name:String = "" var price:Double = 0.0 var changed:Double = 0.0 var percentChanged:Double = 0.0 } class TestUIViewController: UIViewController { } class ViewController: TestUIViewController { var thing:Thing? @IBAction func clicked(_ sender: AnyObject) { self.thing = Thing() } }
我创建了一个带有按钮的UIView,当按下时,会实例化一个东西.使用Instruments Profiler,我可以看到内存泄漏.
但是,如果ViewController类从UIViewController扩展,则没有问题.
这一切都是从快速测试应用程序中复制而来的,因此我无法想到其他外部力量.
这是示例代码 – https://www.dropbox.com/s/ooqh77lhpzbvpv1/ArcTest.zip?dl=0