尝试使用一个字典,其中键是您的标题,其值是一个包含定义和链接的字典,以及一个数组,您将在其中存储搜索结果,即搜索的键。
var dictionary = ["title 0":["definition 0", "Link 0"], "title 1": ["definition 1", "Link 1"]]
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
isSearching = false
tableView.reloadData()
} else {
isSearching = true
for (key, value) in dictionary {
if key==searchText{
resultsArray.append(key)
}
}
tableView.reloadData()
}
}
现在当你在
List Controller
让它知道你想在下一个VC中初始化和加载哪个键的详细信息:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let DefinitionViewController = self.storyboard?.instantiateViewController(withIdentifier: "DefinitionViewController") as! DefinitionViewController
ListViewController.initDetails(forKey: resultsArray[indexPath.row])
performSegue(withIdentifier: "segue", sender: self)
tableView.deselectRow(at: indexPath, animated: true)
}
在你
Definition Controller
初始化详细信息:
func initDetails(forKey key: String) {
definitionBody.text=dictionary[key]![0]
definitionSources.text=dictionary[key]![1]
}