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?
Ich habe diese Methode aufgegeben, um den Fortschritt von AFURLSessionManager
zu verfolgen. Stattdessen habe ich ein gutes altes AFHTTPRequestOperation
verwendet.
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
Tags und Links objective-c iphone ios ipad cocoa-touch