使用NSArrayController过滤单列NSTableView

时间:2013-01-02 11:21:58

标签: macos cocoa nstableview cocoa-bindings nsarraycontroller

我提供的工作表包含NSTableView(一列),NSSearchFieldNSButton('添加')。 我想要的是将表视图的内容设置为字符串列表。此字符串列表位于NSArray中,名为列表。此内容应根据搜索字段的内容进行过滤(如果中的字符串)不包含搜索字段的内容,则不再显示在表视图中。

我不熟悉绑定,任何人都可以帮助我。

1 个答案:

答案 0 :(得分:5)

我上传了project,请检查。

一个粗略的想法是:(但是通过观察项目可以更容易理解)

  1. 创建阵列控制器。

  2. 为阵列控制器对象

    设置
      Mode:Class
    
      Class Name: Your custom Class
    
  3. 收到的操作

      add: to the button that will add new objects, typically labelled with +
    
      remove:to the button that will add new objects., typically labelled with -
    
  4. 引用绑定(来自表格或来自此处的每一列表格)。

  5. 对于搜索字段

     Bindings, Predicate to Array Controller
    
     ControllerKey : filterPredicate
    
     Predicate Format : <class property> contains $value
    
     (if to search in multiple table columns  then <class property 1> contains $value || <class property 2> contains $value etc…. )