我很困惑!當我初始化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