0
Die Aufgabe kann abgebrochen werden, während NSOperation
verwenden, während ich GCD
, dann wenn ich die Aufgabe zu Warteschlange zuweisen dann können wir nicht abbrechen, daher frage ich mich, wie ich meine folgende Implementierung in konvertieren könnte GCD
zu NSOperation
Konvertieren GCD in NSOperationqueue
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) {
[self addAllImages];
dispatch_sync(dispatch_get_main_queue(), ^(void) {
[self pageControlSetUp];
self.fullScreenImageView.hidden = YES;
});
})
dank Inder Kumar. Ich frage mich, was ist besser in Bezug auf die Leistung? – hotspring
Offensichtlich GCD ist besser in Bezug auf die Leistung, da Ihre Operationen GCD intern verwenden. Auch GCD ist Low-Level-API und NSOperation ist High-Level-API. Beides hat Vor- und Nachteile. Wie in Ihrem Problem können Sie einen GCD asynchronen Block nicht abbrechen, daher benötigen Sie Operationen. –