con chiusure di solito accodare [sé debole] sulla mia lista di cattura e poi fare un controllo nullo sull'auto:è auto catturato all'interno di una funzione annidata
func myInstanceMethod()
{
let myClosure =
{
[weak self] (result : Bool) in
if let this = self
{
this.anotherInstanceMethod()
}
}
functionExpectingClosure(myClosure)
}
Come si esegue il controllo di nulla su di sé se io 'm utilizzando una funzione annidata in luogo di una chiusura (o è l'assegno addirittura necessario ... o è addirittura buona norma utilizzare una funzione annidata come questo) cioè
func myInstanceMethod()
{
func nestedFunction(result : Bool)
{
anotherInstanceMethod()
}
functionExpectingClosure(nestedFunction)
}
È presente nella documentazione ufficiale per caso? –
Sembra che questo sia vero. Ho fatto un test e il debole della chiusura non è passato al sé nella funzione annidata. Così tanto per il codice pulito. – possen