如何在输入 NSSearchField 时延迟搜索

How to delay search while typing NSSearchField

我正在使用 AppKit.NSSearchField 并且需要在用户输入时延迟搜索事件,例如在 2 秒后过滤数据。

我已经从界面生成器中添加了操作 - 'On end editing',但是它在键入时被调用得太频繁了。有什么本机方法可以增加用户键入时的延迟时间吗?

您应该使用一种名为去抖动的技术。这个想法是在有点过期延迟后从你的动作(你连接到 "on end editing")内部执行一个方法。每个新的按键都会重置定时器,它有固定的延迟。直到用户继续输入,搜索才会执行。他一停下来,最后一个去抖定时器就会启动,你的搜索就会通过。

更多信息在这里: How can I debounce a method call?