停止/暂停swift应用程序一段时间

7 cocoa nstimer swift

我的应用程序使用NSTimerObject的多个线程.

在一个函数中(随机时间随机调用,而不是固定的延迟)我希望它暂停整个应用程序,暂停线程1 second.我有以下代码:

[self performSelector:@selector(subscribe) withObject:self afterDelay:3.0 ];
Run Code Online (Sandbox Code Playgroud)

哪个是客观C,我尝试将其翻译成Swift,如下所示:

self.performSelector(Selector:changeColourOfPage(), withObject: self, afterDelay: 1.0)
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误Missing argument for parameter 'waitUntilDone' in call,当我把它放进去的时候,它说它想要这个论点,modes但是当我把它放进去的时候说Extra argument modes.

我无法弄清楚如何暂停应用程序及其所有线程几秒钟,然后像往常一样继续?

有任何想法吗?

Con*_*nor 11

performSelector方法在Swift中不可用.您可以使用dispatch_after获取延迟功能.

let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(NSEC_PER_SEC * 1))
dispatch_after(delayTime, dispatch_get_main_queue()){
    changeColourOfPage() 
}
Run Code Online (Sandbox Code Playgroud)