作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨, 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/
如何在每个新行创建一个新数组/元组? 就像我有这个循环来读取文件: for line in csv.reader(f, delimiter='\t', lineterminator='\t\t', d
我正在尝试将值写入(我可以很好地读取)MSSQL 实例。我的代码类似于: import pypyodbc lst = ['val1', 'val2', 'val3'] connection = pyp
我是一名优秀的程序员,十分优秀!