【发布时间】:2014-11-07 18:45:25
【问题描述】:
我正在尝试在文本输入字段上设置超时,该超时仅在用户停止输入后一秒钟实现内部代码。因此,当用户键入时,我会不断调用 cleartimeout 并重新启动 setTimeout。
我最初是在查看 Objective C 中的 performSelector 函数,但看起来没有 Swift 等效函数。
然后我转向 Swift 中的 GCD 函数,寻找一种方法来执行它。
这是我想出的:
var delta: Int64 = 1 * Int64(NSEC_PER_SEC)
var time = dispatch_time(DISPATCH_TIME_NOW, delta)
dispatch_suspend(dispatch_get_main_queue())
dispatch_after(time, dispatch_get_main_queue(), {
println("timeout")
});
dispatch_suspend 函数没有像我希望的那样工作。
也许调度函数在这里不合适?
【问题讨论】:
-
这可能在开始时使用一些上下文,需要一些工作才能弄清楚你在问什么
-
@StormeHawke - 完成:)
标签: swift timeout settimeout cleartimeout