使用核心数据在TableView中搜索栏(使用Swift)

时间:2015-08-26 12:19:24

标签: ios swift core-data tableview uisearchbar

我正在使用Core Data制作 TableViewController 。实际上,用户可以向表格视图添加新项目,这些项目保存在核心数据中。一切都运行良好,但当我添加搜索栏时,我被阻止了。

我添加了一个搜索栏,但是当我在模拟器中运行应用程序时,此函数会出现错误。

/path/to/demos/..

我得到的错误是" 以NSException类型的未捕获异常终止"

PS:我使用Xcode 6.3.2,所有代码都在Swift中。

1 个答案:

答案 0 :(得分:3)

尝试以下方法:

func updateSearchResultsForSearchController(searchController: UISearchController) {
    var request = NSFetchRequest(entityName: "Serie")
    filteredTableData.removeAll(keepCapacity: false)
    let searchPredicate = NSPredicate(format: "SELF.infos CONTAINS[c] %@", searchController.searchBar.text)
    let array = (series as NSArray).filteredArrayUsingPredicate(searchPredicate)

    for item in array
    {
        let infoString = item.infos
        filteredTableData.append(infoString)
    }

    self.tableView.reloadData()
}