z zamknięciami zwykle dopisywanie [słaby własny] na mojej liście przechwytywania, a następnie wykonaj null czek na siebie:jest samo zdobyty w zagnieżdżonej funkcji
func myInstanceMethod()
{
let myClosure =
{
[weak self] (result : Bool) in
if let this = self
{
this.anotherInstanceMethod()
}
}
functionExpectingClosure(myClosure)
}
Jak wykonać sprawdzanie wartości null na siebie, gdybym Korzystam zagnieżdżonej funkcji zamiast zamknięcia (lub jest nawet konieczne sprawdzenie ... czy jest to nawet dobra praktyka, aby korzystać z funkcji zagnieżdżonych tak) tj
func myInstanceMethod()
{
func nestedFunction(result : Bool)
{
anotherInstanceMethod()
}
functionExpectingClosure(nestedFunction)
}
Czy jest to w oficjalnej dokumentacji przez przypadek? –
Wydaje się, że to prawda. Zrobiłem test, a słaby z zamknięcia nie został przekazany samemu sobie w funkcji zagnieżdżonej. Tyle dla czystego kodu. – possen