Kiedy utworzyć funkcję, mogę zrobić to parametr opcjonalny, nadając mu wartość domyślną, tak:Funkcja z opcjonalnego bloku realizacji w Swift
func foo(bar: String = "foobar") {}
chcę zrobić to samo (sprawiają, że opcjonalnie) z blokiem zakończenia. Próbowałem:
func foo(completionBlock: (foo: String) ->() =() ->())
func foo(completionBlock: (foo: String) ->() = (foo: String) ->())
func foo(completionBlock: (foo: String) ->() = ((foo: String) ->()))
func foo(completionBlock: (foo: String) ->() = ((foo: String) in))
func foo(completionBlock: (foo: String) ->() = {(foo: String) in})
Jak mogę to zrobić?
EDYCJA:
To jest/było duplikatem pytanie, przepraszam za to. Jednak nie mogłem znaleźć rozwiązania w pierwotnym pytaniu. Więc odpowiedź Nathan jest najlepszy
Czy to nie wymagałoby funkcji @escaping do ukończenia blokady, ponieważ jest ona domyślnie nie-uciekająca od wersji Swift3.0? – Cyrus