如何使用分组表视图进行过滤和搜索?

时间:2018-08-16 14:12:29

标签: ios swift uitableview uisearchbar

我目前有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。

我之前已经做过搜索过滤,但是那没有分组表视图,所以这就是为什么我很困惑。

0 个答案:

没有答案