gpt4 book ai didi

ios - 我如何使用搜索栏在元组中搜索?

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

嗨, friend 们,我想使用元素 searchBar 在元组中进行搜索,我只使用字符串数组做了类似的事情:在数组的 SearchBar 委托(delegate)中:

 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {




self.ListaDeElementosEncontrados =



self.ListaDEElementosTotoales.filter({$0.lowercased()
.prefix(searchText.count)==searchText.lowercased()})

self.searching = true

self.tableListElementosOfSubc.reloadData() */

if(self.searchBar.text == ""){
self.searching = false
self.tableListElementosOfSubc.reloadData()
}



}

但我现在想在我拥有的元组中进行搜索:

这是充满数据的元组:

var ListaDEElementosTotoales : [(String,Float)] = []

这是我认为必须包含所有搜索结果数据的元组

var ListaDeElementosEncontrados : [(String,Float)] = []

那我怎么不能在元组中进行搜索呢?
在那个元组中将有 Fruits,Price

谢谢。

顺便说一句,我将使用元组:

ListaDeElementosEncontrados

谢谢你填充我的 tableView。

最佳答案

在 Swift 中,您可以使用 tuple.0 访问元组的第一个元素,使用 tuple.1 访问第二个元素。

这段代码应该适合你:


class ViewController: UIViewController {

var searching = false

var tableListElementosOfSubc: UITableView!

var ListaDEElementosTotoales : [(String,Float)] = []

var ListaDeElementosEncontrados : [(String,Float)] = []

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
self.ListaDeElementosEncontrados = self.ListaDEElementosTotoales
.filter {
$0.0.lowercased()
.starts(with: searchText.lowercased())
}

self.searching = searchBar.text != ""

self.tableListElementosOfSubc.reloadData()
}

}

但是,我建议使用如下声明:

    var ListaDEElementosTotoales : [(fruit: String, price: Float)] = []

var ListaDeElementosEncontrados : [(fruit: String, price: Float)] = []

这将使搜索代码更易读:

        self.ListaDeElementosEncontrados = self.ListaDEElementosTotoales
.filter {
$0.fruit.lowercased()
.starts(with: searchText.lowercased())
}

祝你的项目好运!

关于ios - 我如何使用搜索栏在元组中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58651200/

25 4 0