gpt4 book ai didi

Swift Firebase UISearchController 索引超出范围

转载 作者:行者123 更新时间:2023-11-30 12:12:57 25 4
gpt4 key购买 nike

我有一个表格 View ,其中列出了我在 Firebase 中的所有“地点”。我有一个 UISearchController 显然可以搜索这些“地方”。问题是,当我只是点击 UISearchController 但不输入任何内容并选择一个“地点”时,我会收到索引超出范围错误。如果我正在打字或没有激活 UISearchController,它会很好地进行。当它处于事件状态并且不输入时,我就会收到错误消息。它会在“let user =filteredUsers[indexPath.row]”上引发错误

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
if segue.identifier == "BusinessProfiles" {
// gotta check if we're currently searching
if self.searchController.isActive {
if let indexPath = tableView.indexPathForSelectedRow {
let user = filteredUsers[indexPath.row]
let controller = segue.destination as? BusinessProfilesViewController
controller?.otherUser = user
}
} else {
if let indexPath = tableView.indexPathForSelectedRow {
let user = usersArray[indexPath.row]
let controller = segue.destination as? BusinessProfilesViewController
controller?.otherUser = user
}
}
}
}

最佳答案

正如您所说,您没有执行任何搜索并选择地点,对吧?如果是这样,您可以使用所选行的 indexPath.row 调用空的 filteredUsers[indexPath.row] ,该行具有正索引。因此,您必须首先检查是否执行了搜索,然后才调用 filteredUsers[indexPath.row],如下所示:

if !filteredUsers.isEmpty {
if self.searchController.isActive {
if let indexPath = tableView.indexPathForSelectedRow {
let user = filteredUsers[indexPath.row]

关于Swift Firebase UISearchController 索引超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45806125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com