/ / Qual è la differenza tra NSOperationQueue e NSURLSession? [chiuso] - iOS, obiettivo-c

Qual è la differenza tra NSOperationQueue e NSURLSession? [chiuso] - ios, obiettivo-c

Qual è la differenza tra NSURLSession e NSOperationQueue?
Possiamo fare la stessa cosa dentro NSURLSession come in NSOperationQueue?

In realtà entrambi sono per l'utilizzo di attività in background. Quindi il mio dubbio: qual è la differenza tra questi due e quali sono i vantaggi e gli svantaggi NSURLSession e NSOperationQueue?

risposte:

3 per risposta № 1

Mentre NSOperationQueue è una coda per scopi informatici arbitrari (puoi inserire qualsiasi tipo di lavoro in uno di questi, ad esempio l'elaborazione delle immagini) e la gestione dei thread, NSURLSession offre un'interfaccia facile da usare per le connessioni URL (caricamento di dati e download di dati).

Quindi, con un NSOperationQueue puoi fare tutto quello che puoi fare con un NSURLSession perché l'utilizzo di una coda in background per avviare una connessione URL sincrona è (a parte il sovraccarico di configurazione che NSURLSession dovrebbe prendersi cura di te) logicamente lo stesso.

Ma non è vero il contrario; NSURLSession non sarebbe utile per reti arbitrarie (ad esempio TCP non elaborate) o attività non connesse alla rete.

Estrarre eccessivamente qualsiasi semplice, potresti voler vedere NSURLSession come una coda operazioni molto specifica, che consente solo operazioni relative all'URL.


2 per risposta № 2

Ci sono molte differenze tra NSURLSession e NSOperationQueue

NSURLSession : - viene utilizzato per chiamare il servizio Web in background. Tutte le operazioni relative alla chiamata al servizio web possono essere gestite nella sessione NSURL

NSOperationQueue : - Viene utilizzato per eseguire qualsiasi attività insfondo in thread diversi. È possibile eseguire qualsiasi tipo di attività nel thread in background tranne (operazione UI). Nella coda operazioni è possibile rendere l'attività dipendente usando la dipendenza in modo che l'attività venga eseguita in una sequenza.