【问题标题】:Binding one NSSearchField's text to two different controller objects将一个 NSSearchField 的文本绑定到两个不同的控制器对象
【发布时间】:2014-03-28 04:32:22
【问题描述】:

我有两个不同的 NSArrayController,但我想使用一个搜索字段的文本来过滤它们。每个控制器的谓词都不同。是否可以?现在我只能让它一次过滤一个数组控制器。

【问题讨论】:

  • 您想在输入字符或回车时这样做吗?

标签: macos cocoa cocoa-bindings nsarraycontroller nssearchfield


【解决方案1】:

是的,这是可能的。

你可以这样做:This Stack Overflow answer by me shows how to do for one table and ArrayController

对于多个,您只需添加一个新谓词,即Predicate2。请参考屏幕截图:

这里的教师和学生类包含一个属性name。但是你可以有不同的属性名称。此外,我只过滤一列或属性,您可以搜索多个列/属性,为此请参阅上面的链接。

【讨论】:

  • 很奇怪,我尝试了这个但无法让它工作 - 什么也没发生。我最终使用 NSTextDelegate 来捕获搜索字段上的更改,并从中手动设置数组控制器上的 filterPredicate。不过,我会将您的答案标记为正确,因为我会假设我做错了什么。
  • 大部分时间是星期二,我将上传同样的运行代码,以找出任何愚蠢的错误。就像现在假期一样,我没有带 Mac。
猜你喜欢
  • 2018-09-17
  • 2017-06-29
  • 2013-08-21
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2015-11-28
  • 2012-10-13
  • 1970-01-01
相关资源
最近更新 更多