在 swift 中的数组中搜索数据
Search for data in array in swift
我的表格视图顶部有一个搜索栏,它正在使用我的数据数组“标题”进行搜索
我还想在标题旁边添加 Id,以便用户可以使用标题或 post id 进行搜索
我试过了,但它只使用 id
搜索
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
print("text did change")
if searchText.count != 0 {
self.isSearch = true // item["title"].string
self.searchedData = self.data.filter { ([=11=]["title"].string?.contains(searchText))! }
self.searchedData = self.data.filter { ([=11=]["id"].string?.contains(searchText))! }
self.tableView.reloadData()
} else {
self.isSearch = false
self.tableView.reloadData()
}
}
}
是否也可以搜索标题?
问题是您分配了第二个过滤器的结果并丢弃了前一个过滤器的结果。
您不应该强制展开表达式的结果。只是检查它是否是真的。请注意,您可以避免重复数据两次 { [=10=]["id"].string?.contains(searchText) == true || [=10=]["title"].string?.contains(searchText) == true }
我的表格视图顶部有一个搜索栏,它正在使用我的数据数组“标题”进行搜索 我还想在标题旁边添加 Id,以便用户可以使用标题或 post id 进行搜索 我试过了,但它只使用 id
搜索 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
print("text did change")
if searchText.count != 0 {
self.isSearch = true // item["title"].string
self.searchedData = self.data.filter { ([=11=]["title"].string?.contains(searchText))! }
self.searchedData = self.data.filter { ([=11=]["id"].string?.contains(searchText))! }
self.tableView.reloadData()
} else {
self.isSearch = false
self.tableView.reloadData()
}
}
}
是否也可以搜索标题?
问题是您分配了第二个过滤器的结果并丢弃了前一个过滤器的结果。
您不应该强制展开表达式的结果。只是检查它是否是真的。请注意,您可以避免重复数据两次 { [=10=]["id"].string?.contains(searchText) == true || [=10=]["title"].string?.contains(searchText) == true }