9
それはDispatchSourceTimer
と関係がありますが、私はどこにも行けません。スウィフト3のスケジュールを使用するにはどうすればいいですか?
DispatchSourceTimer.scheduleRepeating(deadline:.now(), interval:.milliseconds(delay), leeway:.milliseconds(1))
私のソリューション
問題はタイプの混乱を行うことでした。
これは私に、「あいまいな参照」に関するエラーが発生します。正しい方向に向いてくれてありがとう。ここに私の完全な結果があります。
private var queueNo = 0
@discardableResult func repeater(_ delay:Int, _ closure:(()->())) -> (()->()) {
let queue = DispatchQueue(label: "repeater\(queueNo)", attributes: [])
queueNo += 1
let timer = DispatchSource.makeTimerSource(flags: [], queue: queue)
timer.scheduleRepeating(deadline: .now() + .milliseconds(delay), interval: .milliseconds(delay), leeway: .milliseconds(1))
timer.setEventHandler {
DispatchQueue.main.async(execute: closure)
}
timer.resume()
return {
timer.cancel()
}
}
を試してみて、私は ''インスタンス化DispatchSource.timer(...)を必要なときに、私は本当に静的関数を呼び出していました。第二に私の '遅延 'は型の問題を引き起こしたInt64でした。 –
Beta 4 –
Hmでこれが変更されたようです。それを調べる必要があります。 –