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

标签 cocoa swift nstimer

我的应用程序使用 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/

相关文章:

objective-c - NSAlert 调整窗口大小

objective-c - 字典数组或多个数组,哪个最好?

cocoa - 将 iOS 移植到 Mac,创建 GUI、HOMEKIT 还是 Chameleon?

ios - swift 4 可编码 : Converting JSON return String to Int/Date/Float

ios - 一段时间后 NSTimer 在后台停止触发

objective-c - 在 View 上显示图像 1 秒

iphone - 关于获取新的 NSManagedObject 对象

ios - 将 UITabBar 定位在顶部

uitableview - 从 UITableView 中的 query.whereKey ("column",nearGeoPoint) 逆序

ios - 当它们离开屏幕时取消与 UITableViewCells 关联的 NSTimers