struct Objects {
var sectionName : String!
var sectionObjects : [CountryList]!
}
var objectArray = [Objects]()
Здесь objectArray
- мой tableView
источник данных, где sectionObjects
- массив CountryList
struct
.
struct CountryList: Codable {
let country_id: String?
let country_name: String?
let country_code: String?
let country_flag_url: String?
init(countryID: String, countryName: String, countryCode: String, countryFlagURL: String) {
self.country_id = countryID
self.country_name = countryName
self.country_code = countryCode
self.country_flag_url = countryFlagURL
}
}
Я хочу отфильтровать objectArray
в соответствиина country_name
.
Это то, что я сделал в UISearchResultsUpdating
.
extension CountryListViewController: UISearchResultsUpdating {
public func updateSearchResults(for searchController: UISearchController) {
guard let searchText = searchController.searchBar.text else {return}
if searchText == "" {
objectArray += objectArray
} else {
objectArray += objectArray
objectArray = objectArray.filter {
let countryListArray = $0.sectionObjects!
for countryList in countryListArray {
print("cName \(String(describing: countryList.country_name))")
countryList.country_name!.contains(searchText)
}
}
}
self.countryListTableView.reloadData()
}
}
И получаю две ошибки:
Результат вызова 'содержит 'не используется
Отсутствует возвращение в замыкании, которое, как ожидается, вернет' Bool '
Что мне здесь не хватает?Любое предложение будет высоко оценено.
Заранее спасибо.