Wenn Sie innerhalb eines Verschlusses auf self
verweisen müssen, ist es ratsam, ihn als weak
oder unowned
zu übergeben, um einen Rückhaltezyklus zu verhindern.Führt das Übergeben einer Funktion, die zu "self" gehört, zu einem Retain-Zyklus, wenn er nicht geschlossen ist?
Übergeben Sie die Funktion, die direkt an self
gehört, einen Retain-Zyklus? Oder muss es in einem Verschluss verschachtelt werden, um sich selbst zu schwächen?
Pass direkt
UIView.animateWithDuration(0.3,
delay: 0.0,
usingSpringWithDamping: 0.7,
initialSpringVelocity: 0.1,
options: .CurveEaseOut,
animations: self.view.layoutIfNeeded, // does this cause retain cycle?
completion: nil)
Wrapping in einem Verschluss
UIView.animateWithDuration(0.3,
delay: 0.0,
usingSpringWithDamping: 0.7,
initialSpringVelocity: 0.1,
options: .CurveEaseOut,
animations: { [unowned self] in
self.view.layoutIfNeeded()
},
completion: nil)
Große Erklärung, danke – Chris