Ich benutze diese Methode AFNetworking mehrere Anfragen auf einmal zu starten:AFNetworking: enqueueBatchOfHTTPRequestOperations Ausgabe mit Abschluss Block
- (void)enqueueBatchOfHTTPRequestOperations:(NSArray *)operations
progressBlock:(void (^)(NSUInteger numberOfCompletedOperations, NSUInteger totalNumberOfOperations))progressBlock
completionBlock:(void (^)(NSArray *operations))completionBlock
Einer von ihnen ein AFJSONRequestOperation
ist. Das Problem besteht darin, dass der Erfolgsblock dieser JSON-Operation nach dem Abschlussblock des Stapels ausgeführt wird. Der Grund ist: AFJSONRequestOperation
verfügt über eine interne Dispatch-Warteschlange für die JSON-Verarbeitung. Daher werden die JSON-Daten noch verarbeitet, während der Completion-Block aufgerufen wird.
Frage: Wie kann Code im Abschlussblock nach der Erfolgsblock der JSON-Operation aufgerufen wurde?
Ich habe versucht, einen Codeblock in der Hauptwarteschlange zu versenden, aber das hat nicht geholfen.
OP sagte der JSON ist immer noch nicht verarbeitet, wenn die Fertigstellung aufgerufen wird, also würde das nicht funktionieren, oder? – kevboh
Ja, deshalb frage ich. Diese Antwort hilft mir nicht. – Felix
Oh, ich habe es falsch gelesen. Was Ihr Problem betrifft, könnte es bald einen Patch geben, wenn Sie darauf warten können. https://github.com/AFNetworking/AFNetworking/issues/362 –