Ho usato con successo, invio centralizzato nelle mie app, ma mi chiedevo quale sia il vero vantaggio di usare qualcosa del genere:
dispatch_async(dispatch_get_main_queue(), ^{ ... do stuff
o anche
dispatch_sync(dispatch_get_main_queue(), ^{ ... do stuff
Voglio dire, in entrambi i casi stai lanciando un blocco da eseguire sul thread principale, esattamente dove viene eseguita l'app e questo non aiuterà a ridurre il carico. Nel primo caso non hai alcun controllo su quando verrà eseguito il blocco. Ho visto casi di blocchi eseguiti mezzo secondo dopo che li hai sparati. Il secondo caso, è simile a
[self doStuff];
giusto?
Mi chiedo cosa ne pensate voi ragazzi.