在WWDC 2014年第403 Intermediate Swift和transcript次会议上,出现了以下幻灯片
演讲者说,在这种情况下,如果我们不在那里使用[unowned self]
,那将是内存泄漏.这是否意味着我们应该始终使用[unowned self]
个内部闭合?
在line 64 of ViewController.swift of the Swift Weather app,我不用[unowned self]
.但我使用self.temperature
和self.loadingIndicator
等@IBOutlet
来更新UI.这可能没问题,因为我定义的所有@IBOutlet
都是weak
.但为了安全起见,我们应该一直使用[unowned self]
吗?
class TempNotifier {
var onChange: (Int) -> Void = {_ in }
var currentTemp = 72
init() {
onChange = { [unowned self] temp in
self.currentTemp = temp
}
}
}