我们可以将搜索应用于从 json 解析中获取的数组的表视图吗
Posted
技术标签:
【中文标题】我们可以将搜索应用于从 json 解析中获取的数组的表视图吗【英文标题】:can we apply search to tablview of array getting from json parsing 【发布时间】:2019-06-13 11:41:04 【问题描述】:我在 tableView
中搜索,但 NSDictionry
没有成员项目它没有过滤搜索
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) arrFilterLocation = searchText.isEmpty ? arrInrestLocation:arrInrestLocation.filter( (item:String) -> Bool in
return item.range(of: searchText,options: .caseInsensitive ,range: nil,locale: nil) != nil
)
TabelView.reloadData()
【问题讨论】:
raywenderlich.com/… 建议您不要使用NSDictionary
。将 JSON 解析为结构。它使搜索变得更加容易。
【参考方案1】:
假设arrFilterLocation
和arrInrestLocation
都是arrays
的String
,即
var arrInrestLocation: [String]
var arrFilterLocation: [String]
您可以简单地在每个string
到filter
上使用contains(_:)
,在包含arrInrestLocation
的arrInrestLocation
中的所有strings
中使用searchText
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
arrFilterLocation = searchText.isEmpty ? arrInrestLocation : arrInrestLocation.filter( $0.lowercased().contains(searchText.lowercased()) )
tableView.reloadData()
【讨论】:
$0.range(of: searchText, options: .caseInsensitive) != nil
比$0.lowercased().contains(searchText.lowercased())
效率更高
NSDictionary 的两个数组。
首先使用 Dictionary 而不是 NSDictionary。此外,添加您要在其中搜索单词的词典示例。以上是关于我们可以将搜索应用于从 json 解析中获取的数组的表视图吗的主要内容,如果未能解决你的问题,请参考以下文章