1

我有一个 coredata 实体绑定到一个有 5 列的 tableView。我正在使用数组控制器来管理 tableview 排序等。

我的问题是使用绑定进行搜索。我有一个绑定到 ArrayController 的 searchField,谓词格式设置为第一列数据。一切正常。我还可以更改 XCODE 中的谓词格式并在不同的列上进行搜索。

我遇到的问题是知道如何更改我的代码中的谓词格式以允许用户搜索他们选择的列......

我试图修改 ArrayController 如下:

let predicate = NSPredicate(format: "projectNumber contains[cd] %@", searchBar.stringValue)
    searchArrayController.filterPredicate = predicate

let predicate = NSPredicate(format: "customerName contains[cd] %@", searchBar.stringValue)
    searchArrayController.filterPredicate = predicate

projectNumber 和 customerName 是我的实体的属性。

当我以这种方式设置谓词时,表数据消失了。通过摆弄搜索字段,我可以让它再次显示,但它忽略了我的谓词设置,只服从 XCODE 故事板中的原始设置。

StoryBoard 设置为:谓词格式 = projectNumber contains[cd] $value

提前感谢您提供的任何帮助...

4

1 回答 1

0

为每一列添加谓词绑定。当您绑定predicate搜索字段时,会predicate2出现一个绑定。无需编码。

于 2016-11-12T00:09:37.107 回答