NSOperationQueue mainQueue vs performSelectorOnMainThread?
Was ist der Unterschied zwischen diesem:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[self doSomthing:object];
}];
und so:
[self performSelectorOnMainThread:@selector(doSomething:) withObject:object waitUntilDone:NO]
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durchführen wird der Selektor richtig, wenn es aufgerufen wird. Dies ist, was Sie haben zu verwenden, wenn Sie möchten, um Einfluss auf die Benutzeroberfläche von einem hintergrund-thread. Wenn Sie sagen
YES
zuwaitUntilDone
es wird den thread blockiert, bis die Methode abgeschlossen ist.mainQueue
fügt hinzu, dass der block zu den Operations-Warteschlange der mainthread aber nicht garantieren, wenn es ausgeführt wird. Es könnten auch andere Elemente in die Warteschlange warten noch ausführen.performSelectorOnMainThread
mit waitUntilDone:NEIN, dass es ausgeführt wird, auf die nächste gehen, um die Schlinge, die ist genau das gleiche Verhalten wie die mainQueue