> On Oct 16, 2016, at 11:25 AM, Thierry Passeron via swift-users
> <[email protected]> wrote:
>
> Hello All,
>
> I’m in the process of migrating older code to Swift 3 and I’m stuck on this
> one.
> How do you create a timer dispatch source?
>
> Old code:
>
> let source = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue)
>
> dispatch_source_set_timer(source, dispatch_time(DISPATCH_TIME_NOW, 0),
> UInt64(interval * 1000_000_000), 0)
> dispatch_source_set_event_handler(source) {
> // Do something useful
> }
>
> dispatch_resume(source)
>
> New code:
let timer = DispatchSource.makeTimerSource(queue: queue)
timer.scheduleRepeating(wallDeadline: .now(), interval: .seconds(1))
timer.setEventHandler {
// Do something useful
}
timer.resume()
Isn’t it nice? It is a pity it is not well documented yet.
> Xcode is not helping me with any of the required refactoring. The convert
> tool throws many errors but no proposition.
> I have tried to explore the New Dispatch headers with no luck.
> DISPATCH_SOURCE_TYPE_TIMER can’t be found… ok so It seems to be replaced with
> a protocol DispatchSourceTimer and … no initializer… I think I don’t yet
> catch with the whole philosophy of this new version.
>
> I’d be pleased if anyone cared to enlighten me.
>
> Thanks and regards,
> Thierry
>
> _______________________________________________
> swift-users mailing list
> [email protected]
> https://lists.swift.org/mailman/listinfo/swift-users
_______________________________________________
swift-users mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-users