2016-08-09 5 views
1

Ich versuche, eine Funktion innerhalb einer Schließung zu verwenden, aber ich erhalte einen Fehler 'kann Wert von Typ() in Schließung Ergebnis Typ Bool' konvertieren. Der folgende Code demonstriert den Fehler. Wie kann ich das schaffen?Verwenden Sie Funktion in Schließung

func test1(){ 
    test2(){ success in 
     self.test1() 
    } 
} 

func test2(completionHandler: (Bool) -> Bool){ 
    completionHandler(true) 
} 

Antwort

1

Sie legen fest, dass der test2 Verschluss eine Bool zurückkehrt, so Rückkehr ein:

func test1(){ 
    test2 { (success) -> Bool in 
     test1() 
     return success 
    } 
} 

Have test2 ‚s Verschluss Rückkehr ungültig, wenn Sie nicht wollen, einen Wert von ihm zurückzukehren:

func test1(){ 
    test2 { (success) in 
     test1() 
    } 
} 

func test2(completionHandler: (Bool) -> Void){ 
    completionHandler(true) 
} 
Verwandte Themen