我想延迟在今天扩展中加载的框架内执行方法。
我试过这个:
接收任务和等待时间的功能
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))
但是此通话会暂停应用,使其无法响应超过该时间,直至永远。
答案 0 :(得分:1)
dispatch_time
需要一个以纳秒为单位的时间增量,而不是以毫秒为单位,因此您的功能可能实际上有效,只需要1000000倍。尝试:
let popTime = dispatch_time(DISPATCH_TIME_NOW, delayInMilliseconds * NSEC_PER_MSEC)