Quelle est la différence entre ceci:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{ [self doSomthing:object]; }];
et ça:
[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:NO]
[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:NO]
Sera le sélecteur droit quand il est appelé. C'est ce que vous devez utiliser si vous voulez affecter l'interface user à partir d'un thread d'arrière-plan. Si vous dites YES
à waitUntilDone
il bloquera le thread jusqu'à ce que la méthode soit terminée.
mainQueue
ajoute ce bloc à la queue d'opération du mainthread mais ne garantit pas quand il sera exécuté. Il peut y avoir d'autres éléments dans cette queue en attente d'exécution.