【问题标题】:How do you get search capability similar to Spotlight or iTunes?您如何获得类似于 Spotlight 或 iTunes 的搜索功能?
【发布时间】:2010-10-23 08:42:36
【问题描述】:

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

【问题讨论】:

    标签: objective-c cocoa macos search spotlight


    【解决方案1】:

    “Spotlight”功能实际上是通过 SearchKit API 提供给您的,尽管对于您所描述的简单情况 NSPredicate 可能是更好的选择。如果有人感兴趣,我为 CocoaHeads 写了一个 SearchKit 演示文稿,你可以take a look at here

    【讨论】:

      【解决方案2】:

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

      有 2 个standard 方法。第一种(Tiger 之前的)技术是继承 NSArrayController 的子类,覆盖排列对象。第二个(后Tiger)是将NSSearchField 的谓词绑定到NSArrayController 的filterPredicate。在任何一种情况下,将视图属性绑定到控制器的 arrangedObject 键(例如,将“名称”NSTableColumn 绑定到控制器的 arrangedObjects.name 键并将 NSTableView 的内容绑定到 arrangedObjects)。您可能想阅读writing predicates

      【讨论】:

      • 请记住,您不需要使用绑定来使用 NSPredicate,如果您使用数据源方法来填充表格视图,它在普通 NSArray 对象上也同样有效。
      猜你喜欢
      • 1970-01-01
      • 2014-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      相关资源
      最近更新 更多