从不同的数组中加载两个值作为searchController的结果,可以通过以下步骤实现:
下面是一个示例代码:
import UIKit
class ViewController: UIViewController, UISearchResultsUpdating {
var arrayA = ["Apple", "Banana", "Cherry", "Durian"]
var arrayB = ["Elephant", "Frog", "Giraffe", "Horse"]
var searchController: UISearchController!
override func viewDidLoad() {
super.viewDidLoad()
// 初始化searchController
searchController = UISearchController(searchResultsController: nil)
searchController.searchResultsUpdater = self
searchController.searchBar.placeholder = "Search"
navigationItem.searchController = searchController
definesPresentationContext = true
}
// 搜索框文本变化时调用
func updateSearchResults(for searchController: UISearchController) {
let searchText = searchController.searchBar.text ?? ""
// 从数组A中筛选符合条件的结果
let filteredArrayA = arrayA.filter { $0.lowercased().contains(searchText.lowercased()) }
// 从数组B中筛选符合条件的结果
let filteredArrayB = arrayB.filter { $0.lowercased().contains(searchText.lowercased()) }
// 将筛选出的结果作为searchController的结果
searchController.searchResultsController?.view.isHidden = false
// 更新搜索结果列表
// ...
}
}
这个示例代码演示了如何从两个数组中加载搜索结果,并更新搜索结果列表。你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云