Как установить необязательное свойство протокола? Например, UITextInputTraits имеет ряд дополнительных свойств чтения/записи. Когда я пытаюсь выполнить следующее, я получаю ошибку компиляции (не могу назначить "keyboardType" в "textInputTraits" ):
func initializeTextInputTraits(textInputTraits: UITextInputTraits) {
textInputTraits.keyboardType = .Default
}
Обычно при доступе к необязательному свойству протокола вы добавляете знак вопроса, но это не работает при назначении значения (ошибка: не может назначить результат этого выражения):
textInputTraits.keyboardType? = .Default
Протокол выглядит так:
protocol UITextInputTraits : NSObjectProtocol {
optional var keyboardType: UIKeyboardType { get set }
}