NSProgress fractionCompleted Schlüssel-Wert-Beobachtungsmethode nicht aufgerufen

8

Ich versuche, den Fortschritt meiner HTTP-Anfrage mit AFNetworking und NSProgress zu verfolgen. Meine Anfrage besteht im Wesentlichen aus mehrteiligen Formulardaten, die Textparameter und Bilddaten in einem Block enthalten.

Dies ist mein Code für die Upload-Aufgabe, und es scheint mir ziemlich einfach und normal zu sein:

%Vor%

Nun, was ich nicht verstehe ist, dass die Callback-Observer-Methode nicht aufgerufen wird, obwohl die Upload-Aufgabe abgeschlossen und erfolgreich ist. Kann mir jemand helfen, warum zu verstehen? Hier ist mein Code.

%Vor%

UPDATE: Ich habe den Code von AFNetworking für die Methode uploadTaskWithStreamedRequest:... verfolgt und festgestellt, dass sie tatsächlich mein Objekt NSProgress von uploadTaskWithTask:... ersetzt. Wenn der Zeiger NSProgress auf eine neue Instanz verweist, wird diese neue Instanz natürlich nicht zur Beobachtung der Eigenschaft fractionCompleted registriert. Wie kann ich die Schlüsselwertbeobachtung für diese neue NSProgress -Instanz durchführen, ohne den AFNetworking-Code direkt zu ändern?

    
Matt Quiros 10.02.2014, 11:28
quelle

3 Antworten

5

Ich habe diese Methode aufgegeben, um den Fortschritt von AFURLSessionManager zu verfolgen. Stattdessen habe ich ein gutes altes AFHTTPRequestOperation verwendet.

%Vor%     
Matt Quiros 10.02.2014, 14:59
quelle
6

Alles was Sie tun müssen, ist Ihren Beobachter zu bewegen, nachdem die Upload-Aufgabe erstellt wurde und es wie ein Zauber wirken wird.

%Vor%     
Yas T. 14.04.2014 17:13
quelle
0

Sie stoßen möglicherweise auf dieses Problem Ссылка , das tatsächlich auf eine Entwurfsbeschränkung in NSURLSession zurückzuführen ist. Gegen Ende der Diskussion sehen Sie eine vorgeschlagene Problemumgehung. Ich verwende diese Problemumgehung und die Beobachtung "fractionCompleted" funktioniert gut für mich.

-brian

    
bjlevine 13.07.2015 16:03
quelle