Когда я создаю функцию, я могу сделать необязательный параметр, придав ему значение по умолчанию, например:Функция с дополнительным блоком завершения в Swift
func foo(bar: String = "foobar") {}
Я хочу сделать то же самое (сделать это необязательно) с блоком завершения. Я пробовал следующее:
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})
Как это сделать?
EDIT:
Это/был дублирующий вопрос, извините за это. Однако я не мог найти решение в исходном вопросе. Так ответ Натана лучше один
Не нужно ли @escaping для завершения, поскольку он неявно не ускользает после Swift3.0? – Cyrus