Ich habe %code% untersucht, aber festgestellt, dass die vorhandene Dokumentation, die Klassenreferenz und die Tutorials fehlen. Ich frage mich hauptsächlich, ob meine NSProgress auf meinen Anwendungsfall anwendbar ist. Die Klassenreferenzdokumentation bezieht sich entweder auf %code% oder %code% , ich mag mich irren, aber ich interpretiere %code% als einen Fall, in dem eine NSOperation eine Gruppe anderer %code% verwaltet. Ein Beispiel für meinen Anwendungsfall ist wie folgt:
Ich hätte erwartet, dass %code% dies unterstützt, und erlaube mir, den Fortschritt von den verschachtelten Operationen ( %code% operation) auf die übergeordnete Operation und schließlich auf den Haupt-Thread und die UI zu übertragen. Aber ich hatte Schwierigkeiten, dies zu implementieren, es scheint, dass %code% eher für lange Operationen gedacht ist, die ihren gesamten Code auf einem Hintergrundthread ausführen, aber separate "Abschnitte" haben, die es einfach machen festzustellen, wann Fortschritte gemacht wurden, Wenn dies der Fall ist, ist die Verwendung des Begriffs %code% ein bisschen irreführend, da es an die Verwendung verschachtelter %code% erinnert.
Vielen Dank für Ihre Hilfe und lassen Sie mich wissen, ob weitere Informationen benötigt werden.
%code% weiß nichts über %code% - die beiden Dinge sind orthogonal - aber das bedeutet nicht, dass es nicht mit ihnen verwendet werden kann. Die Idee hinter der Verschachtelung von %code% "tasks" besteht darin, dass die innere Aufgabe nichts über die äußere Aufgabe weiß und die äußere Aufgabe keinen direkten Zugriff auf die% ce_de% der inneren Aufgabe benötigt, um Updates dafür einzuholen. Ich habe mir ein kleines Beispiel ausgedacht:
%Vor%Beachten Sie, dass wenn %code% verwendet wird, um den Status der Benutzeroberfläche zu übermitteln, Sie sicherstellen möchten, dass Sie jedes Mal, wenn Sie das Objekt %code% aktualisieren, dies aus dem Hauptthread tun Sie werden viele seltsame Abstürze bekommen.
Alternativ können Sie einfach NSURLConnection verwenden, um Dateien herunterzuladen, und dann einen Delegierten wie folgt haben:
%Vor%Ich hoffe, das hilft.