我有一个NSTableView,其中包含一些填充了数据的列。如何设置可以根据特定列的内容过滤行的搜索栏?我正在寻找在Finder中使用Spotlight或在iTunes中可以按元数据过滤歌曲的搜索栏中完成的事情类型。

有帮助吗?

解决方案

您的数据源可以由NSArrayController管理吗?

有两种标准方法。第一种(pre-Tiger)技术是子类NSArrayController,重写arrangeObjects。第二个(后虎)是将NSSearchField的谓词绑定到NSArrayController的filterPredicate。在任何一种情况下,将视图属性绑定到控制器的 arrangeObject 键(例如,将“name”NSTableColumn绑定到控制器的 arrangeObjects.name 键,并将NSTableView的内容绑定到<代码> arrangedObjects )。您可能需要阅读编写谓词

其他提示

&QUOT;聚光灯&QUOT;功能实际上是通过SearchKit API提供给您的,尽管对于像您所描述的简单情况,NSPredicate可能是更好的选择。如果有人感兴趣,我为CocoaHeads写了一个SearchKit演示文稿你可以 take看看这里

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top