Questions marquées «grand-central-dispatch»

Grand Central Dispatch (GCD) fournit un mécanisme simple et robuste pour les opérations simultanées et asynchrones, principalement dans les systèmes d'exploitation Apple (par exemple, iOS, macOS, watchOS et tvOS), mais aussi FreeBSD et MidnightBSD.



8
NSOperation vs Grand Central Dispatch
J'apprends la programmation simultanée pour iOS. Jusqu'à présent, j'ai lu sur NSOperation/NSOperationQueue et GCD. Quelles sont les raisons d'utiliser NSOperationQueueOver GCDet vice versa? Sonne comme les deux GCDet NSOperationQueuerésume la création explicite NSThreadsde l'utilisateur. Cependant, la relation entre les deux approches n'est pas claire pour moi, donc toute rétroaction est …

13
Comment puis-je écrire dispatch_after GCD dans Swift 3, 4 et 5?
Dans Swift 2, j'ai pu utiliser dispatch_afterpour retarder une action à l'aide de Grand Central Dispatch: var dispatchTime: dispatch_time_t = dispatch_time(DISPATCH_TIME_NOW, Int64(0.1 * Double(NSEC_PER_SEC))) dispatch_after(dispatchTime, dispatch_get_main_queue(), { // your function here }) Mais cela ne semble plus se compiler depuis Swift 3. Quelle est la meilleure façon d'écrire ceci dans …




6
Comment puis-je dispatch_sync, dispatch_async, dispatch_after, etc. dans Swift 3, Swift 4 et au-delà?
J'ai beaucoup de code dans les projets Swift 2.x (ou même 1.x) qui ressemble à ceci: // Move to a background thread to do some long running work dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { let image = self.loadOrGenerateAnImage() // Bounce back to the main thread to update the UI dispatch_async(dispatch_get_main_queue()) { self.imageView.image = …

9
Dans Swift, comment appeler une méthode avec des paramètres sur le fil principal de GCD?
Dans mon application, j'ai une fonction qui crée une NSRURLSession et envoie une NSURLRequest en utilisant sesh.dataTaskWithRequest(req, completionHandler: {(data, response, error) Dans le bloc d'achèvement de cette tâche, je dois faire un calcul qui ajoute une UIImage au viewcontroller appelant. J'ai un func appelé func displayQRCode(receiveAddr, withAmountInBTC:amountBTC) qui effectue le …

10
Attendre que deux blocs asynchrones soient exécutés avant de démarrer un autre bloc
Lors de l'utilisation de GCD, nous voulons attendre que deux blocs asynchrones soient exécutés et terminés avant de passer aux étapes d'exécution suivantes. Quelle est la meilleure façon de le faire? Nous avons essayé ce qui suit, mais cela ne semble pas fonctionner: dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^ { // block1 }); …



6
iPhone - Fil de discussion principal de Grand Central Dispatch
J'utilise avec succès, une grande répartition centrale dans mes applications, mais je me demandais quel est le véritable avantage d'utiliser quelque chose comme ceci: dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff ou même dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff Je veux dire, dans les deux cas, vous déclenchez un bloc à exécuter sur …

3
Différence entre dispatch_async et dispatch_sync sur la file d'attente série?
J'ai créé une file d'attente série comme celle-ci: dispatch_queue_t _serialQueue = dispatch_queue_create("com.example.name", DISPATCH_QUEUE_SERIAL); Quelle est la différence entre dispatch_asyncappelé comme ça dispatch_async(_serialQueue, ^{ /* TASK 1 */ }); dispatch_async(_serialQueue, ^{ /* TASK 2 */ }); Et dispatch_syncappelé comme ça sur cette file d'attente série? dispatch_sync(_serialQueue, ^{ /* TASK 1 */ …


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.