Ho bisogno di fare alcune chiamate POST al mio server, ma non ho bisogno di bloccare il thread principale. Come ho capito, NSMutableURLRequest
e NSURLConnection
non sono thread-safe, quindi è meglio usare il metodo asincrono di NSURLConnection
.Objective-C: Async/Background POST senza utilizzare il metodo delegate?
La mia domanda su questo è, come posso impacchettare bene in un metodo, invece di dover utilizzare il metodo delegato? Io preferirei fare:
NSData *returnedData = [Utility postDataToURL:@"some string of data"];
Questo è come è facile fatto con il seguente metodo:
[NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:&serviceResponse error:&serviceError];
E 'così bello tenere tutto all'interno di un metodo, quindi basta avere i miei dati restituiti da esso !
Esistono metodi basati su blocchi per questo? Diventa un problema quando ho bisogno di scrivere metodi per circa 50 chiamate diverse e ognuno deve utilizzare lo stesso metodo delegato. Sto andando su questo nel modo sbagliato?
Questo deve essere solo per iOS5.
Tu dici che non vuoi blocca il thread principale, ma quello che hai detto che vuoi fare è molto chiaramente sincrono, cioè bloccherà il thread principale (o almeno, il thread da cui lo stai chiamando). –
Questo è un esempio di quanto sia facile riuscire a restituire i dati. –