我想延迟从Today Extension中加载的框架内方法的执行。
我已经试过了:
接收任务和等待时间的功能
func playCPUWithDelay(delayInMilliSeconds:Int64,scheduledTask: ()->Void)
{
let popTime = dispatch_time(DISPATCH_TIME_NOW,delayInMilliSeconds) // 1
dispatch_after(popTime, GlobalMainQueue) { // 2
scheduledTask()
}
存在
var GlobalMainQueue: dispatch_queue_t {
return dispatch_get_main_queue()
}
但它立即运行
也曾经尝试过..
NSThread.sleepForTimeInterval(NSTimeInterval(5000))
但是此调用会挂断该应用程序,从而使该应用程序在超过该时间之前一直无响应,直到永远。
最佳答案
dispatch_time
花费的时间增量是十亿分之一秒,而不是毫秒,因此您的函数可能确实起作用了,只是相差1000000。尝试:
let popTime = dispatch_time(DISPATCH_TIME_NOW, delayInMilliseconds * NSEC_PER_MSEC)
关于ios - 可以延迟今日扩展(iOS)上功能的执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28418383/