iOS - Async NSURLConnection in NSOperation

8

Ich weiß, dass diese Frage viele Male auf SO gestellt wurde, aber ich habe es nicht geschafft, dass es in meinem Projekt funktioniert ...

Also möchte ich NSOperation ableiten und dafür sorgen, dass eine Datei mit NSURLConnection heruntergeladen wird. Was ist der richtige Weg? Hier ist mein Code, der nicht funktioniert: Zuerst füge ich alle meine Operationen in eine Schleife ein:

%Vor%

Und hier ist meine Unterklasse:

%Vor%

Was mache ich falsch?

    
Oleg 25.02.2013, 12:03
quelle

1 Antwort

8

Sie müssen Ihre Operation ordnungsgemäß so konfigurieren, dass sie als "gleichzeitige Operation" ausgeführt wird.

Concurrency Programming Guide: Konfigurieren von Vorgängen für die gleichzeitige Ausführung

Sie müssen isConcurrent = YES zurückgeben und die anderen Zustandsflags isExecuting und isFinished entsprechend KVO-konform verwalten.

Um die allgemeine Idee hier zu veranschaulichen, ist ein Beitrag von den Ingenieuren von Pulse, der ihre Lösung mit einem einfach zu verfolgenden Demo-Code beschreibt, den Sie herunterladen und überprüfen können.

Pulse Engineering Blog: Gleichzeitige Downloads mit NSOperationQueues **

Dieser Code behandelt auch die Anforderung, dass NSURLConnection für einen Thread mit einem aktiven Runloop gestartet wird, indem sichergestellt wird, dass es im Hauptthread gestartet wird.

(** Link ist jetzt zu archive.org, ich glaube Puls wurde erworben und habe ihre alte Seite runter genommen)

    
Rory O'Bryan 25.02.2013, 12:46
quelle