2013-12-15 13 views
6

Il iOS Batch Request Page mostra solo come eseguire più richieste contemporaneamente e gestirne separatamente le uscite. Tuttavia, voglio fare simultaneamente 3 richieste batch di Facebook e quindi ricevere i risultati di tutti e tre in un blocco di completamento una volta che tutti e tre sono stati completati, quindi posso aggregarli e ordinarli. È possibile?Richieste batch SDK iOS per iOS, blocco a completamento singolo

Tutto l'aiuto è molto apprezzato e accetto sempre una risposta!

risposta

1

Questo metodo ha funzionato per me. Ecco un esempio di come farlo richiedendo le informazioni dell'utente e gli amici dell'utente che usano la tua app. Ciò restituirà un singolo blocco e sarà possibile analizzare il risultato e gestire tutto in una volta:

NSArray *requests = @[@{@"method":@"GET", 
         @"relative_url":@"me"}, 
         @{@"method":@"GET", 
         @"relative_url":@"me/friends"}]; 
NSError *encodingError; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:requests options:0 error:&encodingError]; 
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSDictionary *params = @{@"batch":jsonString}; 

[FBRequestConnection startWithGraphPath:@"" 
          parameters:params 
          HTTPMethod:@"POST" 
         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
          if (error) { 
           NSLog([error description], nil); 
          } 
          else { 
           NSLog(@"Return Data: %@", [result description]); 
          } 
         }]; 
+0

Durante il caricamento di un video su Facebook includiamo anche i dati video. Come sarebbe convertito in JSON? –

+0

Il codice non funziona più, non è sicuro che lo sia perché FBRequestConnection è deprecato o che le richieste a @ "" non funzionano più .. –