在Swift 4中,我试图将UITextField的文本长度与最小长度进行比较:
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不能使用。您必须打开可选的包装。
Equatable
Comparable
合适且安全的解决方案是可选地绑定text属性:
text
if let password = textFieldPassword.text, password.count >= 8 { ... }