[使用UISearchBar Swift 5在UITableView上搜索

问题描述 投票:0回答:1

**注意:两个不同的数组TopicTitle和TopicDesc **

我想按TopicTitle过滤数据,并且工作正常

 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    filteredTitleArray = searchText.isEmpty ? titleArray : titleArray.filter { title -> Bool in
        return title.contains(searchText)
    }
    tableView.reloadData()
}

问题是,我正在过滤TopicTitle,但根据过滤的单元格未显示TopicDescriptionenter image description here

swift search tableview
1个回答
0
投票
不要使用多个数组,请使用结构

struct Topic { let title, desc : String }

并声明(数据源)数组

var topicArray = [Topic]() var filteredArray = [Topic]()

然后过滤器

filteredArray = searchText.isEmpty ? topicArray : topicArray.filter { topic -> Bool in return topic.title.range(of: searchText, options: .caseInsensitive) != nil) || topic.desc.range(of: searchText, options: .caseInsensitive) != nil }

range(of语法的好处是不区分大小写的搜索能力。
© www.soinside.com 2019 - 2024. All rights reserved.