IOS 单击 UISearchBar 时显示最后 10 个搜索字符串的数组

IOS display array of last 10 search string when click at UISearchBar

我正在使用 UICollectionViewController 开发应用程序。我正在使用 UISearchController 实现搜索功能。这是我所做的:

var searchController: UISearchController!

override func viewDidLoad() {
        searchController = UISearchController(searchResultsController: nil)
    searchController.delegate = self
    searchController.searchBar.delegate = self
    searchController.searchResultsUpdater = self
    searchController.searchBar.placeholder = "Search for article"
    searchController.hidesNavigationBarDuringPresentation = false
    self.navigationItem.titleView = searchController.searchBar
    searchController.searchBar.sizeToFit()
    definesPresentationContext = true
}

问题是,每当用户单击 UISearchBar 时,我们如何显示 10 个最近搜索字符串的列表?并检测用户是否点击了任何先前的搜索结果(重新加载 collectionView 以显示过滤结果)。

你必须自己实施。每当用户单击 UISearchBar 时,都会调用委托,您可以在其下方显示附加的 UITableView,列出 10 个最近的搜索(如果有的话)。

当用户搜索某些内容时,将其添加到您维护的最近搜索中array/queue。

如果用户点击任何最近搜索的项目,即 UITableView,将调用 didSelectRow 委托,您可以搜索该字符串并重新组织最近的搜索 array/queue。