Io uso questo metodo AFNetworking per avviare più richieste in una sola volta:AFNetworking: enqueueBatchOfHTTPRequestOperations problema con il blocco di completamento
- (void)enqueueBatchOfHTTPRequestOperations:(NSArray *)operations
progressBlock:(void (^)(NSUInteger numberOfCompletedOperations, NSUInteger totalNumberOfOperations))progressBlock
completionBlock:(void (^)(NSArray *operations))completionBlock
Uno di loro è un AFJSONRequestOperation
. Il problema è che il blocco di successo di questa operazione JSON viene eseguito dopo il blocco di completamento del batch. Il motivo è: AFJSONRequestOperation
ha una coda di invio interna per l'elaborazione JSON. Quindi i dati JSON sono ancora in elaborazione mentre viene chiamato il blocco di completamento.
Domanda: Come è possibile eseguire codice nel blocco di completamento dopo è stato chiamato il blocco di successo dell'operazione JSON?
Ho provato a inviare un blocco di codice sulla coda principale, ma questo non ha aiutato.
OP ha detto che il json è ancora non elaborato quando viene chiamato il completamento, quindi questo non funzionerebbe, giusto? – kevboh
Sì, è per questo che sto chiedendo. Quindi questa risposta non mi sta aiutando. – Felix
Oh, giusto ho letto male. Per quanto riguarda il tuo problema, potrebbe esserci presto una patch se puoi aspettarla. https://github.com/AFNetworking/AFNetworking/issues/362 –