Итак, вот моя модель данных, которую я смог найти без UISearchController, однако
import Foundation
import UIKit
struct events {
var eventnumber:Int
var eventname:String
var swimmers:[heatlane]?
var expanded:Bool
}
struct heatlane{
var heat:Int
var lane:Int
var age:Int
var swimmer:String
var team:String
var seedTime:String
var finalsTime:String
}
Выше приведена структура данных. Я пытаюсь найти правильный фильтр, чтобы при вводе он заполнял только массив, содержащий часть имен пловцов. Кроме того, я не уверен, как бороться с четкой строкой поиска. Когда я нажимаю на
func filterContentForSearchText(_ searchText: String, scope: String = "All") {
print(searchText.lowercased())
if(searchBarIsEmpty()){
print("empty search")
print(self.arrayEV)
self.filarrayEV = self.arrayEV
self.eventtable.reloadData()
}else{
self.filarrayEV = self.arrayEV.filter({( eachevent : events) -> Bool in
return (eachevent.swimmers?.contains(where: {$0.swimmer.lowercased().contains(searchText.lowercased())}))!
})
self.eventtable.reloadData()
}
}