在注意到使用Swift 3和iOS 10的许多泄漏后,我试图重现其中一个漏洞。
我注意到在CAShapeLayer
的另一个子类的子类中使用UITableViewCell
作为属性会导致泄漏。
class BaseCell: UITableViewCell { }
class TestCell: BaseCell {
let customLayer = CAShapeLayer() // This causes a leak in instruments
}
问题:
其他人可以确认这是,更重要的是,我该如何解决这个问题?
注意:
- iOS 9中不会发生这种情况
- 如果CAShapeLayer
属于BaseCell
属性,则不会发生泄漏
- 如果CAShapeLayer
替换为UIView
,则会显示相同的泄漏。