ユーザーが検索バーに重複する番号を入力できないようにする

最上級

私のコードは長すぎるようで、完全ではありません!

検索バーの重複を避けようとしています。私はそれを最初のエントリーのためだけに動かしています。

しばらくこれで遊んでいましたが、私が作っているように見えるものよりも簡単だと確信しています。

    var search : String = ("1, ")
    let numbers = search.map { String($0) }
    let duplicates = Array(Set(numbers.filter({ (i: String) in numbers.filter({ $0 == i }).count > 1})))
    for item in duplicates
    {
        search = search.replacingOccurrences(of: item, with: "")
    }
    if mainSearchBar.text != search
    {
        mainSearchBar.text = (mainSearchBar.text ?? "") + search
    }

最初に入力した数字(コンマと空白を含む、合計3文字)は、2回目に入力したときに重複しません。これはすばらしいことです。

すでに検索バーにある番号がまったく重複しないようにしたい。

上記のコードはボタン1の機能です。いくつかのボタンがあります。

emelagumat

UISearchBarDelegateそれを助けることができる方法があります。これがお役に立てば幸いです。

このメソッドを使用すると、重複する文字が新しい文字列に含まれないようにすることができます

func removeDuplicates(in searchText: String) -> String {
        var newString = ""
        searchText.forEach { character in
            if !newString.contains(character) {
                newString.append(character)
            }
        }
        return newString
    }

そして、UISearchBarDelegateから継承する必要があります

extension **YourControllerName**: UISearchBarDelegate {
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
        searchBar.text = removeDuplicates(in: searchText)

    }
}

これを機能させるにmainSearchBar.delegate = selfは、コードのどこかに設定する必要があります。通常はviewDidLoad

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ユーザーが重複する値を入力できないようにする

分類Dev

ユーザーが検索バーに入力したときにtextarea値を表示/非表示にするにはどうすればよいですか?

分類Dev

ユーザーが文字列に複数の小数を入力できないようにする

分類Dev

ユーザーが複数の回答を入力できないようにする

分類Dev

ユーザーが入力PHPにスペースのみを入力できないようにする方法

分類Dev

ユーザーが最大値で入力を入力できないようにする

分類Dev

ユーザーが入力を停止したときにのみ検索を開始するにはどうすればよいですか?

分類Dev

ユーザーが入力を停止したときにのみ検索を開始するにはどうすればよいですか?

分類Dev

ユーザー入力番号で文字を複数回印刷するにはどうすればよいですか?

分類Dev

ユーザーが0を入力として入力できないようにする

分類Dev

ユーザーが同じ番号を続けて入力したときにフォームを送信できないようにする

分類Dev

無効な日付形式を入力したときにユーザーがフォームを送信できないようにする単純なJavaScript検証?

分類Dev

整数がオーバーフローする原因となる値をユーザーが入力できないようにします

分類Dev

ユーザーがフォームにURLを入力できないようにする

分類Dev

ユーザーが検索バーからルートにアクセスできないようにするにはどうすればよいですか?

分類Dev

ユーザーが入力フィールドに数字のみを入力できないようにするにはどうすればよいですか?

分類Dev

ユーザーがC#で文字列変数に整数を入力できないようにする

分類Dev

Javascript を使用してユーザーが特定のキーを入力できないようにする方法

分類Dev

ユーザーがinput()で数字を入力できないようにする方法はありますか?

分類Dev

ユーザーが検索入力をホバーしたときに検索アイコンの色を変更するにはどうすればよいですか?

分類Dev

ユーザーがテキストボックスに数字を入力できないようにする方法

分類Dev

ユーザーが入力に数字を入力できないようにするにはどうすればよいですか?

分類Dev

ユーザーがjQueryを使用してmaxlengthで値を入力できないようにする方法

分類Dev

ユーザーが無効な回答を入力できないようにする方法

分類Dev

ユーザーがC ++で入力しているときに、ユーザーの入力を確認するにはどうすればよいですか?

分類Dev

ユーザーがtextBoxを使用して複数のテキストを検索できるようにするにはどうすればよいですか?

分類Dev

ユーザーがUITextFieldの最初の桁として数字1を入力できないようにする

分類Dev

ユーザーが入力したときに「入力」値の変化を検出するにはどうすればよいですか?

分類Dev

.getTextユーザーが入力できるようになる前にテキストを取得する

Related 関連記事

  1. 1

    ユーザーが重複する値を入力できないようにする

  2. 2

    ユーザーが検索バーに入力したときにtextarea値を表示/非表示にするにはどうすればよいですか?

  3. 3

    ユーザーが文字列に複数の小数を入力できないようにする

  4. 4

    ユーザーが複数の回答を入力できないようにする

  5. 5

    ユーザーが入力PHPにスペースのみを入力できないようにする方法

  6. 6

    ユーザーが最大値で入力を入力できないようにする

  7. 7

    ユーザーが入力を停止したときにのみ検索を開始するにはどうすればよいですか?

  8. 8

    ユーザーが入力を停止したときにのみ検索を開始するにはどうすればよいですか?

  9. 9

    ユーザー入力番号で文字を複数回印刷するにはどうすればよいですか?

  10. 10

    ユーザーが0を入力として入力できないようにする

  11. 11

    ユーザーが同じ番号を続けて入力したときにフォームを送信できないようにする

  12. 12

    無効な日付形式を入力したときにユーザーがフォームを送信できないようにする単純なJavaScript検証?

  13. 13

    整数がオーバーフローする原因となる値をユーザーが入力できないようにします

  14. 14

    ユーザーがフォームにURLを入力できないようにする

  15. 15

    ユーザーが検索バーからルートにアクセスできないようにするにはどうすればよいですか?

  16. 16

    ユーザーが入力フィールドに数字のみを入力できないようにするにはどうすればよいですか?

  17. 17

    ユーザーがC#で文字列変数に整数を入力できないようにする

  18. 18

    Javascript を使用してユーザーが特定のキーを入力できないようにする方法

  19. 19

    ユーザーがinput()で数字を入力できないようにする方法はありますか?

  20. 20

    ユーザーが検索入力をホバーしたときに検索アイコンの色を変更するにはどうすればよいですか?

  21. 21

    ユーザーがテキストボックスに数字を入力できないようにする方法

  22. 22

    ユーザーが入力に数字を入力できないようにするにはどうすればよいですか?

  23. 23

    ユーザーがjQueryを使用してmaxlengthで値を入力できないようにする方法

  24. 24

    ユーザーが無効な回答を入力できないようにする方法

  25. 25

    ユーザーがC ++で入力しているときに、ユーザーの入力を確認するにはどうすればよいですか?

  26. 26

    ユーザーがtextBoxを使用して複数のテキストを検索できるようにするにはどうすればよいですか?

  27. 27

    ユーザーがUITextFieldの最初の桁として数字1を入力できないようにする

  28. 28

    ユーザーが入力したときに「入力」値の変化を検出するにはどうすればよいですか?

  29. 29

    .getTextユーザーが入力できるようになる前にテキストを取得する

ホットタグ

アーカイブ