2015-10-12 2 views
0

В быстром, как определить функцию с необязательным параметром, который является функцией? Например, у меня есть такая функция: func test (handler: Int -> Void) Я ожидаю, что обработчик параметра будет необязательным, на самом деле это означает, что тип параметра обработчика должен быть необязательной функцией, поэтому как мне это сделать?Быстрая дополнительная функция параметра

ответ

1

Как и любой другой тип на самом деле. Таким образом, для не опциональным:

func test(handler: (Int) -> (Void)) 

опциональный вариант стал бы:

func test(handler: ((Int) -> (Void))?) 

Другой способ думать о том, что это, если мы должны были создать typealias для обработчика это будет что-то вроде :

typealias handlerCallback = (Int) -> (Void) 

func test(handler: handlerCallback) // The non-optional version 
func test(handler: handlerCallback?) // The optional version 

Я надеюсь, что это имеет смысл

+0

большое спасибо – YonF

+0

Скорее всего, будет разбита на Swift 3.1 –

+0

@StevenKramer Отредактировано. Спасибо за это :) – Alladinian

Смежные вопросы