Необязательное свойство закрытия в Свифте
Как вы объявляете необязательное закрытие как свойство в Swift?
Я использую этот код:
var respondToButton:(sender: UIButton) -> Bool
но компилятор жалуется, что свойство не инициализируется в конце инициализатора. Я считаю, что могу решить эту проблему, объявив var как необязательный, однако я не могу найти правильный синтаксис.
Как объявить это свойство закрытия как необязательное?
Ответы
Ответ 1
Я считаю, что вам просто нужно обернуть тип закрытия в скобках, например:
var respondToButton:((sender: UIButton) -> Bool)?
Альтернативно, если это тип закрытия, который вы часто используете, вы можете создать typealias
, чтобы сделать его более читаемым:
typealias buttonResponder = (sender: UIButton) -> Bool
то в вашем классе:
var respondToButton:buttonResponder?