gpt4 book ai didi

ios - 防止用户在搜索栏中输入重复的数字

转载 作者:行者123 更新时间:2023-11-28 10:28:07 27 4
gpt4 key购买 nike

我的代码似乎太长而且还不完整!

我试图避免在搜索栏中重复。我让它只适用于第一个条目。

我已经尝试了一段时间,但我确信它比我看起来做的更简单。

    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 个字符)在第二次输入时不会重复,这很棒。

我希望搜索栏中已有的任何数字完全不重复。

以上代码是按钮1的功能。有几个按钮。

最佳答案

有一个 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 中。

关于ios - 防止用户在搜索栏中输入重复的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57743725/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com