關于最后一個賦值新閉包破解原來閉包強引用的問題
老師通過賦新值破除了原來self和閉包的強引用?
airCon?.temperatureChange = { newTemperature in
?if newTemperature >= 10 && newTemperature <= 26{
airCon?.temperature = newTemperature
print("New temperature \(newTemperature) is set!")}
else {
print("\(newTemperature) is not a good temperature!")
}
}?
這里新的閉包airCon?.temperature不是調用和改變了實例的屬性嗎,為什么它沒有生成新的強強引用呢??
2019-07-03
因為是透過?airCon 這個引用變量修改的