[swift-users] Migrating to Swift 3 Dispatch

Thierry Passeron thierry.passeron at gmail.com
Mon Oct 17 00:47:40 CDT 2016


Thank you all (Ole, Rien, Adrian)! It’s alive!

You are right it’s a shame how poorly it is documented at the moment. There are many overloads of « scheduleRepeating() » with different parameters and the headers are not that helpful…

Thanks again.

> Le 17 oct. 2016 à 00:32, Hooman Mehr <hooman at mac.com> a écrit :
> 
>> 
>> On Oct 16, 2016, at 11:25 AM, Thierry Passeron via swift-users <swift-users at swift.org <mailto: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:
> 
> 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
>> swift-users at swift.org <mailto:swift-users at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-users <https://lists.swift.org/mailman/listinfo/swift-users>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20161017/c415dbe5/attachment.html>


More information about the swift-users mailing list