我的应用程序使用 NSTimer
对象的多个线程。
在一个函数中(在随机时间随机调用,而不是固定延迟)我希望它暂停整个应用程序,仅暂停线程 1 秒
。我有以下代码:
[self performSelector:@selector(subscribe) withObject:self afterDelay:3.0 ];
这是 objective C,我试过像这样将它翻译成 Swift:
self.performSelector(Selector:changeColourOfPage(), withObject: self, afterDelay: 1.0)
但是我收到错误消息 Missing argument for parameter 'waitUntilDone' in call
当我把它放进去时,它说它需要参数 modes
但是当我把其中说 Extra argument modes
。
我不知道如何暂停应用程序及其所有线程几秒钟,然后像往常一样继续?
有什么想法吗?
最佳答案
performSelector 方法在 Swift 中不可用。您可以使用 dispatch_after 获得延迟功能。
let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(NSEC_PER_SEC * 1))
dispatch_after(delayTime, dispatch_get_main_queue()){
changeColourOfPage()
}
关于cocoa - 停止/暂停 swift 应用程序一段时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726723/