swift 3中的背景任务
对于后台任务,什么等效于响应选择器?我在Objective-C中找到了代码。我正试图在Swift中找到同样的代码 以下是Objective-C代码:swift 3中的背景任务,swift,background-task,Swift,Background Task,对于后台任务,什么等效于响应选择器?我在Objective-C中找到了代码。我正试图在Swift中找到同样的代码 以下是Objective-C代码: if ([application respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]){ bgTaskId = [application beginBackgroundTaskWithExpirationHandler:^{ }) Swi
if ([application respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]){
bgTaskId = [application beginBackgroundTaskWithExpirationHandler:^{
})
Swift代码:
if application.responds(to: #selector(self.beginBackgroundTaskWithExpirationHandler)) {
bgTaskId = application.beginBackgroundTask(expirationHandler: {() -> Void in
print("background task \(UInt(bgTaskId!)) expired")
})
这意味着BackgroundTaskManager没有成员“beginBackgroundTaskWithExpirationHandler”
我们可以在Swift 3中复制的确切内容是什么?除非您尝试支持iOS 3或更早版本,否则无需检查选择器的存在,因为它是在iOS 4.0中添加的 但是Swift选择器应该是:
beginBackgroundTask(expirationHandler:)
在尝试将Objective-CAPI转换为Swift时,这里有一个简单的技巧。在Xcode或联机中调出API文档。选择Objective-CAPI。找到要转换的方法。然后将文档切换到Swift API。在这种情况下,您现在将看到相同的方法,但使用Swift。尝试
#选择器(beginBackgroundTask)
什么是应用程序的类型
?让application=UIApplication.shared application声明就是这个