J'ai une classe Dispatch Central qui crée un timer écrit en swift 1.2. J'essaie de le convertir en Swift 3 mais je ne trouve pas le moyen de le réécrire en swift 3.Swift 3 - Aide Conversion GCD classe
Une aide pour ça?
class GCDTimer {
private var _timer : dispatch_source_t?
init() {
}
private func _createTheTimer(interval : Double, queue : dispatch_queue_t, block : (() -> Void)) -> dispatch_source_t
{
let timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
if (timer != nil)
{
dispatch_source_set_timer(timer, dispatch_time(DISPATCH_TIME_NOW, Int64(interval * Double(NSEC_PER_SEC))), UInt64(interval * Double(NSEC_PER_SEC)), (1 * NSEC_PER_SEC)/10);
dispatch_source_set_event_handler(timer, block);
dispatch_resume(timer);
}
return timer;
}
func start(interval : Double, block : (() -> Void))
{
let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
_timer = _createTheTimer(interval, queue: queue, block: block)
}
func stop()
{
if (_timer != nil) {
dispatch_source_cancel(_timer!);
_timer = nil;
}
}
}
Trop large. Stack Overflow n'est pas un service de traduction. "Impossible de trouver le moyen de réécrire" n'est pas un vrai problème. "De l'aide avec ça?" Ce n'est pas une vraie question. Si vous avez des problèmes/erreurs spécifiques, renseignez-vous sur l'un d'entre eux. - En attendant, voici ma propre minuterie basée sur GCD; Sentez-vous libre de l'utiliser. https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk1ch12p499cancelableTimer/ch12p325NotificationLeaker/CancelableTimer.swift – matt
@matt je vois que vous avez beaucoup de points liés iOS, pouvez-vous me dire ce qui ne va pas avec ma réponse? – silentBob