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

回到顶部