我有用于解码数据的struct数据类型
struct OtherCountry : Decodable {
let name : String
let dial_code : String
let code : String
}
struct FrequentCountry:Decodable{
let name : String
let dial_code : String
let code : String
}
我想根据名称和代码进行搜索,并将其存储在struct类型的数组中
var OtherDataCountry = [OtherCountry]()
var FrequentDataCountry = [FrequentCountry]()
我还实现了看起来像这样的搜索功能
func searchBar(searchText: String) {
searchCountry1 = OtherDataCountry.filter({ (OtherCountry) -> Bool in
return OtherCountry.name.range(of: searchText , options:[.caseInsensitive]) != nil
searchActive = !searchCountry1.isEmpty
self.mTableView.reloadData()
}
)}
}
有人可以帮我将结构数据转换为String数组,这将很有帮助,因为我可以搜索array并使用该结果显示整个数据。
谢谢您的帮助!
请尝试以下代码
func searchBar(searchText: String) {
searchCountry1 = OtherDataCountry.filter {
$0.name.range(of: searchText , options:[.caseInsensitive]) != nil
}.map {$0.name}
searchActive = !searchCountry1.isEmpty
self.mTableView.reloadData()
}
)
}
searchCountry1将是包含名称值的映射之后的数组