【发布时间】:2016-12-02 12:40:50
【问题描述】:
我正在使用AppKit.NSSearchField,并且需要在用户输入时延迟搜索事件,例如在 2 秒后过滤数据。
我从界面生成器中添加了操作 - '结束编辑',但在键入时它被频繁调用。用户打字时有没有增加延迟时间的本地方法?
【问题讨论】:
-
您可以使用计时器,它会在结束编辑时触发。然后在它用完时运行选择器搜索。像这样: let delay =2 // 以秒为单位的时间 NSTimer.scheduledTimerWithTimeInterval(delay, target: self, selector: #selector(search), userInfo: nil, repeats: false)
-
感谢@Irfan 的回答所以,我应该添加自定义延迟,不能增加这个控件的延迟时间吗?
-
我非常有信心是这种情况 - 正如其名称所暗示的“结束编辑”。否则它会被称为“延迟编辑结束”:)
-
c# 标签是干什么用的?您如何获得文本更改通知?不要使用 NSTimer。使用 dispatch_after。
标签: c# objective-c cocoa xamarin.mac nssearchfield