Swift3 比较四个UITextFields的文本属性

Swift3 比较四个UITextFields的文本属性,swift3,uitextfield,string-comparison,Swift3,Uitextfield,String Comparison,我想比较四个UITextFields的文本属性,以确保它们不相同。即: tbx1.text = "hello" tbx2.text = "goodbye" tbx3.text = "goodnight" tbx4.text = "hello" 应该返回一个假但是 tbx1.text = "hello" tbx2.text = "goodbye" tbx3.text = "goodnight" tbx4.text = "good morning" 应该返回一个true 我知道我可以使用长而复杂

我想比较四个UITextFields的文本属性,以确保它们不相同。即:

tbx1.text = "hello"
tbx2.text = "goodbye"
tbx3.text = "goodnight"
tbx4.text = "hello"
应该返回一个假但是

tbx1.text = "hello"
tbx2.text = "goodbye"
tbx3.text = "goodnight"
tbx4.text = "good morning"
应该返回一个true


我知道我可以使用长而复杂的if语句,但我希望有更好的方法

一个可能的解决方案是将所有字符串添加到一个集合中,并检查集合的计数。如果是4,则所有文本字段都有不同的值;如果小于4,则有重复项

您甚至可以将其推广到使用不同数量的文本字段。您只需将所有textfields的text属性添加到一个数组中,从该数组创建一个集合,然后比较两个集合中的元素数

let textFieldValues = [tbx1.text!, tbx2.text!, tbx3.text!, tbx4.text!]
let textFieldSet = Set(textFieldValues)
if textFieldSet.count == textFieldValues.count {
    print("No duplicates")
} else {
    print("Some duplicates")
}

谢谢,但这给了我一个错误:无法推断通用参数'Element''let textFieldValues=[tbx1.text!、tbx2.text!、tbx3.text!、tbx4.text!]解决了您的问题。。请更新,我会接受你的回答