如何在键入NSSearchField时延迟搜索

时间:2016-12-01 20:17:51

标签: c# objective-c cocoa xamarin.mac nssearchfield

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

我添加了界面构建器中的操作 - “在结束编辑时”,但在键入时经常调用它。在用户输入时是否存在增加延迟时间的本地方法?

enter image description here

1 个答案:

答案 0 :(得分:2)

您应该使用名为debouncing的技术。我们的想法是在你的行动内部执行一个方法(在连接到#34;结束编辑"之后)。每按一次新按键将重置定时器,定时器具有固定延迟。在用户继续键入之前,搜索将不会执行。一旦他停下来,最后的去抖定时器将会启动,你的搜索将会通过。

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