我目前有2个数组
expensesRecieved,它是费用数组类型的数组。像这样的[[费用]]。
这包含一个分组的支出清单,每个支出与一个日期相关联,并且日期存储在一个名为“ expenseKeys”的单独数组中,该数组的类型为string。
我正在尝试在此上运行一个searchBar,这将使我仅显示包含所搜索单词的费用,并且到目前为止已包含以下代码:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchBar.text == nil || searchBar.text == ""{
isSearching = false
view.endEditing(true)
tableView.reloadData()
}
else {
isSearching = true
for i in 0..<expensesRecieved.count{
for e in 0..<expensesRecieved[i].count{
if ((expensesRecieved[i][e].name?.contains(searchBar.text!))! || expensesRecieved[i][e].categories!.title!.contains(searchBar.text!) || expensesRecieved[i][e].collections!.title!.contains(searchBar.text!)) {
filteredExpenses[i].append(expensesRecieved[i][e])
}
}
}
tableView.reloadData()
}
}
然后在cellForRowAt方法中,我有以下代码
if isSearching{
expense = self.filteredExpenses[indexPath.section][indexPath.row]
}
else{
expense = self.expensesRecieved[indexPath.section][indexPath.row]
}
但是,我在第二行得到了一个线程错误的EXE。
我之前已经做过搜索过滤,但是那没有分组表视图,所以这就是为什么我很困惑。