Я пытаюсь реализовать UISearchBar, используя swift, и все примеры, которые я могу найти, связаны с поиском в массиве строк.
Используя случайный пример, допустим, у меня есть класс, названный «Автомобиль» со свойствами «производитель» и «модель»
У меня есть массив автомобилей с именем «Автомобили»
Я хотел бы реализовать панель поиска, которая бы фильтровала результаты, сравнивая строку со свойством «изготовителя» в массиве Cars.
Пока что я могу подключить все остальное, что касается отфильтрованных результатов. массив, результаты просмотра таблицы и т. д. Я не могу обойти этот бит:
filteredManufacturers = Cars.filter({ (text) -> Bool in
let tmp: NSString = text as NSString
let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)
return range.location! = NSNotFound})
У меня проблема в том, что я не знаюкак ссылаться только на свойство класса. Если я введу:
filteredManufacturers = Cars.manufacturers.filter....
, возникнет проблема, связанная с отсутствием свойства «производители» для «Автомобили» и if. Я меняю это. и попытаться сослаться на. Свойство класса 'Car.manufacturers', то, очевидно, это не все. фактических данных автомобиля там для фильтрации. У кого-нибудь есть предложения?
Полагаю, одним из способов является копирование данных всех производителей в массив, и я могу выполнить поиск по нему, но затем я должен обратиться к. начальные индексы для ссылки на их класс и. кажется давно раненым.