Drawing Threaded su iPhone
-
19-09-2019 - |
Domanda
documentazione Mele afferma che in generale è Quartz2D thread-safe . si blocca Tuttavia in sede di elaborazione di un contesto un'immagine durante una NSOperation sto sperimentando (EXC_BAD_ACCESS).
Questa è la mia messa a punto corrente:
UIGraphicsBeginImageContext(imageSize);
CGContextRef context = UIGraphicsGetCurrentContext();
// drawing code
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Ho il sospetto che gli incidenti sono legati al contesto attuale come il docu UIGraphicsGetCurrentContext afferma che ha bisogno di essere chiamato dalla filo conduttore . È corretto? Ci sono altri modi per ottenere il contesto dell'immagine?
Soluzione
Hai risposto alla tua domanda. I documenti dicono che devi chiamare UIGraphicsGetCurrentContext () sul thread principale, non si sta facendo così, e la vostra applicazione si blocca. QED.
Altri suggerimenti
Le varie funzioni UIGraphics sono per lo più solo metodi di convenienza intorno alle funzioni di livello inferiore. Leggi fino CGGraphicsContext e come creare il proprio; la documentazione è molto utile.