我很困惑!当我初始化NSTimer()
Xcode告诉我它已被重命名为Timer()
,如果我初始化Timer()
Xcode告诉我它只适用于iOS 10.0或更高版本。如果我想为早期版本的iOS使用计时器,我应该怎么使用?对我来说最奇怪的是,没有人似乎有这个问题,所以我在这里错过了什么?我究竟做错了什么?适用于早期版本iOS 10的计时器? (Xcode 8,Swift 3)
UPDATE: 好吧,即使我已经得到了downvoted一堆的时间,因为人们误解了我的问题(像往常一样),我还是要尝试澄清我的处境了。是的,我知道NSTimer()
在Swift 3中被重命名为Timer()
,这实际上是我在第一句中引用Xcode的警告信息的原因,所以我不知道为什么每个人都觉得'纠正'我的冲动。其次,事实证明只剩下一种类型的方法,我可以用于iOS 10之前的设备,即Timer(timeInterval: <#T##TimeInterval#>, target: <#T##Any#>, selector: <#T##Selector#>, userInfo: <#T##Any?#>, repeats: <#T##Bool#>)
。其他可用的4类方法都弹出一个警告,这只是在iOS的10个可用,你可以在这里看到:
而且,没有课的方法scheduledTimer()
可用,即使我不记得它曾经是他们在Swift 2.2中。没有任何类方法可用于timer
对象,这意味着上述唯一可用的类型方法是我拥有的唯一选项。
如果您尝试在iOS 9或更低版本下运行您的应用程序,则该代码会崩溃。 – rmaddy
@rmaddy呃...你回答什么问题? –
你的。你的应用支持iOS 9,对吗?但是您试图使用仅限iOS 10的API。这就是Xcode抱怨的原因。如果您尝试在没有适当保护的情况下在您的应用中使用仅适用于iOS 10的API,那么当您在iOS 9下运行时,您的应用会崩溃。 – rmaddy