比较四个UITextFields'文字属性

时间:2017-09-08 08:55:09

标签: swift3 uitextfield string-comparison

我想比较四个UITextFields' text属性以确保它们不相同。即:

git remote show origin

应该返回false但是

tbx1.text = "hello"
tbx2.text = "goodbye"
tbx3.text = "goodnight"
tbx4.text = "hello"

应该返回true。

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

1 个答案:

答案 0 :(得分:1)

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

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

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")
}