2017-01-24 1 views
0

Je suis en train de traduire l'objectif c code ci-dessous pour rapide, je l'ai fait jusqu'à présent, mais je reçois une erreur .. toute aide apprécie.traduire dispatch_async en swift

dispatch_async(dispatch_get_main_queue(), ^{ 
     [self.window.rootViewController presentViewController:self.incomingCall animated:YES completion:nil]; 

dans la version rapide je l'ai fait de cette façon, mais je reçois une erreur:

dispatch_async(dispatch_get_main_queue(), {() -> Void in 
      // Show the alert 
      self.window?.rootViewController?.present(self.iincomingCall(), animated: true, completion: nil) 
     }) 
+0

Quelle est l'erreur? Quelle version de Swift? 2 ou 3? – rmaddy

+0

Si vous utilisez Swift 3, voir http://stackoverflow.com/questions/37801370/how-do-i-dispatch-sync-dispatch-async-dispatch-after-etc-in-swift-3?rq=1 – rmaddy

Répondre

2

La rapide 3 syntaxe est

DispatchQueue.main.async { 
     //your code 
} 
+0

devrait être quelque chose comme? DispatchQueue.main.async (execute: { self.window? .rootViewController? .present (self.iincomingCall(), animé: true, achèvement: aucun) }) – user7430661