【发布时间】:2016-06-13 09:04:48
【问题描述】:
我有这样的代码
let view = UIView(x: x, y: y, w: sideSize, h: sideSize)
view.addTapGesture(action: { [weak self] (UITapGestureRecognizer) -> () in
view.reversePop()
})
extension UIView {
public func reversePop() {
// nothing here
}
}
当我使用仪器时,我发现内存使用量增加了,因此它不会释放内存。当我注释掉 button.reversePop() 时,内存使用量不会增加。
如何防止内存泄漏?
【问题讨论】:
-
为什么要在
UIButton上添加UITapGestureRecognizer?UIButton可以自己处理水龙头,无需识别器。内存使用量增加并不是内存泄漏的可靠检测。可能没有内存泄漏。 -
修复它,现在是它的 uiview
-
那么你认为堆线性增加的原因是什么?
-
我查明了泄漏点。其余代码全部注释掉。当我注释掉时, view.reversePop() = 没问题,当我这样离开时 = 问题
标签: ios swift memory-leaks weak-references