2017-09-08 6 views
0

4つのUITextFieldのテキストプロパティを比較して、それらが同じでないことを確認したいと思います。すなわち:4つのUITextFieldのテキストプロパティの比較

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" 

は真を返す必要があります。

私があれば長くて複雑な文を使用することができます知っているが、私はより良い方法はあり

答えて

1

一つの可能​​な解決策を望んでいるがセットにすべての文字列を追加し、セットの数を確認することです。それが4の場合、すべてのテキストフィールドは異なる値を持ち、4未満の場合は重複しています。

これを一般化して、異なる数のテキストフィールドでも機能するようにすることもできます。すべてのテキストフィールドのテキストプロパティを配列に追加し、配列からSetを作成し、2つのコレクションの要素数を比較します。

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

はあなたに感謝それは私にエラーを与える:ジェネリックパラメータ「要素」を推論することができませんでした」textFieldValuesの=を聞かせて –

+0

[tbx1.text!tbx2.text!tbx3.text!tbx4.text!]あなたの答えを解決しました..更新してくださいあなたの答えを受け入れるでしょう –

+0

@CraigP編集されました。 –

関連する問題