2017-12-17 15 views
-3

私は数年前にXcodeを使用して迅速に復帰しましたが、毎秒手続きを実行するタイマーを作ろうとしています。しかし、この新しい迅速なXcode 9.2では、NSTimerとTimer.scheduledTimerは存在しなくなりました。この新しいバージョンのXcodeでどのようにタイマーを作成するかに関するドキュメントは見つかりません。どのように助けて、これを行うか教えてもらえますか?前もって感謝します。xcode 9.2 iOSスウィフトタイマー

+1

私たちにいくつかのコードを見せてください。たぶん私たちは何が起こっているのかを指摘することができます。 – dfd

答えて

0

はスウィフト4では、 'タイマー' を使用する必要があります。

timer.invalidate() 

あなたの機能の前に「@obj」を入れてください。そして、あなたは行く準備ができています。

@obj fun runTimedCode() { 
    // do your stuff 
} 

幸運を祈る!

0

Timer.scheduleTimerがまだ存在します。 書くようにしてください。 trueにあなたのケース、あなたが設定する必要がありますで

var timer: Timer! 
timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(runTimedCode), userInfo: nil, repeats: true) 

は '繰り返される':

+0

申し訳ありませんが、Xcodeを再起動しました。現在は動作しています。 –

-2

あなたが実行ループにタイマーを追加する必要があります。

let aTimer = Timer(timeInterval: 1, repeats: true, block: { (timer) in 
    //do things. Don't forget about retain cycles. 
}) 
RunLoop.current.add(aTimer, forMode: .defaultRunLoopMode) 

を編集:

私の悪い、質問は、スケジュールタイマーについてだった気付きませんでした。 DavidRönnqvistに感謝してくれてありがとう。

+0

[スケジュールされたタイマー](https://developer.apple.com/documentation/foundation/timer/2091889-scheduledtimer)は、既定のモードで現在の実行ループでスケジュールされています。 –

関連する問題