我有一个 NSTableView,其中包含一些填充了数据的列。如何设置可以根据特定列的内容过滤行的搜索栏?我正在寻找使用 Finder 中的 Spotlight 或 iTunes 中的搜索栏可以按元数据过滤歌曲的类型。
问问题
593 次
2 回答
3
“Spotlight”功能实际上是通过 SearchKit API 提供给您的,尽管对于像您描述的 NSPredicate 这样的简单情况可能是更好的选择。不过,如果有人感兴趣,我为 CocoaHeads 写了一个 SearchKit 演示文稿,你可以看看这里。
于 2009-05-03T14:13:09.203 回答
2
你的数据源可以由 NSArrayController 管理吗?
有两种标准方法。第一种(Tiger 之前的)技术是继承 NSArrayController 的子类,覆盖排列对象。第二个(后Tiger)是将NSSearchField 的谓词绑定到NSArrayController 的filterPredicate。在任何一种情况下,将您的视图属性绑定到控制器的arrangedObject
键(例如,将“名称”NSTableColumn 绑定到控制器的arrangedObjects.name
键并将 NSTableView 的内容绑定到arrangedObjects
)。您可能想阅读有关编写谓词的内容。
于 2009-05-02T20:49:13.737 回答