2017-11-25 19 views
5

trong Swift 4 Tôi đang cố gắng để so sánh độ dài của văn bản của một UITextField với chiều dài tối thiểu:Toán tử nhị phân '> =' không thể áp dụng cho các toán hạng kiểu 'String.IndexDistance?' (Aka 'Tùy chọn <Int>') và 'Int'

if textFieldPassword.text?.count >= 8 {   
} 

nhưng tôi nhận được lỗi

Binary operator '>=' cannot be applied to operands of type 'String.IndexDistance?' (aka 'Optional<Int>') and 'Int' 


Trớ trêu thay nó làm việc với

textFieldPassword.text?.count == 8 

ai đó có thể giúp tôi?

Trả lời

13

Lý do là Equatable hoạt động với các tùy chọn và Comparable thì không. Bạn phải tháo tùy chọn.

Một giải pháp phù hợp và an toàn là tùy chọn ràng buộc các text tài sản:

if let password = textFieldPassword.text, password.count >= 8 { ... } 
+0

Cảm ơn vadian, tôi sẽ chấp nhận trả lời của bạn –

Các vấn đề liên quan