在Swift 4中我试图将UITextField的文本长度与最小长度进行比较:
if textFieldPassword.text?.count >= 8 {
}
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
Binary operator '>=' cannot be applied to operands of type 'String.IndexDistance?' (aka 'Optional<Int>') and 'Int'
Run Code Online (Sandbox Code Playgroud)
具有讽刺意味的是
textFieldPassword.text?.count == 8
Run Code Online (Sandbox Code Playgroud)
有人能帮助我吗?
vad*_*ian 29
原因是Equatable与选项一起使用而Comparable不是.你必须打开可选项.
一个合适且安全的解决方案是可选地绑定text属性:
if let password = textFieldPassword.text, password.count >= 8 { ... }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8847 次 |
| 最近记录: |