[swift-users] Migrating to Swift 3 Dispatch

Rien Rien at Balancingrock.nl
Sun Oct 16 13:42:25 CDT 2016


I’am not familiar with “timer dispatch source”. Do you want to run some closure at time X? Does this help?

            let dpt = DispatchTime.now() + delta * Double(NSEC_PER_SEC)
            queue.asyncAfter(deadline: dpt) { … }

Regards,
Rien.


> On 16 Oct 2016, at 20:25, Thierry Passeron via swift-users <swift-users at swift.org> 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:
> ???
> 
> 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
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users



More information about the swift-users mailing list