二元运算符'> ='不能应用于类型'String.IndexDistance?'的操作数(又名“可选”)和‘廉政’
问题描述:
斯威夫特4我想的也是UITextField的文本的长度具有最小长度比较:二元运算符'> ='不能应用于类型'String.IndexDistance?'的操作数(又名“可选<Int>”)和‘廉政’
if textFieldPassword.text?.count >= 8 {
}
但我得到的错误
Binary operator '>=' cannot be applied to operands of type 'String.IndexDistance?' (aka 'Optional<Int>') and 'Int'
具有讽刺意味的与
textFieldPassword.text?.count == 8
有人可以帮助我的作品?
答
原因是Equatable
适用于可选项,而Comparable
不适用。你必须打开可选的。
合适的安全解决方案是可选的绑定属性text
:
if let password = textFieldPassword.text, password.count >= 8 { ... }
感谢vadian,我会接受你的答案 –