Swift:设置协议的可选属性
如何设置协议的可选属性?例如,UITextInputTraits具有许多可选的读/写属性。当我尝试以下操作时,出现编译错误(无法在“
textInputTraits”中分配给“ keyboardType”):
func initializeTextInputTraits(textInputTraits: UITextInputTraits) { textInputTraits.keyboardType = .Default
}
通常,在访问协议的可选属性时,您会添加问号,但这在分配值时不起作用(错误:无法分配给该表达式的结果):
textInputTraits.keyboardType? = .Default
该协议如下所示:
protocol UITextInputTraits : NSObjectProtocol { optional var keyboardType: UIKeyboardType { get set }
}
回答:
在Swift中是不可能的(还好吗?)。从ADF线程引用:
可选属性要求和返回值的可选方法要求,在访问或调用它们时,将 适当类型 ,以反映
可选要求的事实。
因此,轻松获得可选值也就不足为奇了。但是,设置属性需要 实现。
以上是 Swift:设置协议的可选属性 的全部内容, 来源链接: utcz.com/qa/422743.html