Jusqu'à macOS 10,12 le code suivant a bien fonctionné sur un fil de fond:macOS 10,13 High Sierra: [NSGraphicsContext flushGraphics] sur un fil de fond n'a pas d'effet
[nsView lockFocusFocus];
... draw something ...
[[NSGraphicsContext currentContext] flushGraphics];
[nsView unlockFocus];
Avec 10,13 Cependant, flushGraphics ne met pas à jour le contenu de la vue immédiatement plus.
Je comprends que le dessin à partir d'un fil de fond est maintenant déconseillé, mais cela ne devrait pas signifier que ce n'est plus possible. En fait, tout dans ... dessine quelque chose ... va toujours au backing store de la vue. Une fois que drawRect: est appelé la prochaine fois sur le thread d'interface utilisateur principal, la vue est actualisée avec tout le contenu correctement en place.
Comment cela peut-il se produire immédiatement? Y a-t-il un moyen d'apporter des modifications à la vue immédiatement visible?