как я могу отфильтровать массив в swift 5 для текста поиска в панели поиска? - PullRequest
1 голос
/ 05 мая 2020

Я собираюсь искать из tableview, и для этого я использовал array.filter (), но я не могу получить никаких предложений, связанных с параметром функции, я получил "NSArray.Element self", как добавить требуемый параметр в функцию . Я не могу получить какую-либо функцию, такую ​​как «префикс» или «replaceString» в параметре, поэтому я могу решить эту проблему?

вот мой код,

extension ViewController: UISearchBarDelegate
{
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText:String)
{
searchCoin = ArrData.filter ({ $0.prefix(searchText.count) == searchText})
tableView.reloadData()
}
}

1 Ответ

0 голосов
/ 05 мая 2020

Чтобы проверить, содержит ли какой-либо строковый элемент в массиве искомый текст. Будь то префикс, суффикс или промежуточная строка

extension ViewController: UISearchBarDelegate
{
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText:String)
    {
       searchCoin = ArrData.filter({ $0.contains(find: searchText)})
       tableView.reloadData()
    }
}

OR

Чтобы проверить, имеет ли какой-либо строковый элемент в массиве префикс, равный тексту поиска

extension ViewController: UISearchBarDelegate
{
    func searchBar(_ searchBar: UISearchBar, textDidChange searchText:String)
    {
       searchCoin = ArrData.filter({ $0.hasPrefix(searchText)})
       tableView.reloadData()
    }
}
...