2015-04-14 2 views
6

Quali sono le migliori pratiche per il riutilizzo di NSURLSessions? Da quello che posso dire, sembra che finché la configurazione (timeout, politiche di memorizzazione nella cache, ecc.) Non ha bisogno di cambiare, non è necessario crearne una nuova (dato che è possibile generare nuove attività da essa).Quando creare una nuova sessione NSURL?

Quindi un singolo NSURLSession può essere riutilizzato per un'intera app? Per dominio/endpoint? Per richiesta?

+2

@matt Sembra una domanda perfettamente valida. Per esempio. ci sono casi in cui un 'NSURLSession' diventa non valido? In [Ciclo di vita di una sessione URL] (https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/URLLoadingSystem/NSURLSessionConcepts/NSURLSessionConcepts.html#//apple_ref/doc/uid/10000165i-CH2- SW2) dice "riassociare con la sessione se la tua app si arresta in modo anomalo o viene sospesa o sospesa" - in particolare in quest'ultimo punto - se la mia app è sospesa, devo fare qualcosa quando riprende? (Quella citazione riguarda le sessioni in background, ma è illustrativa dell'ambiguità) – CupawnTae

risposta

1

Acquista i documenti. Specificamente "Come la maggior parte delle API di rete, l'API NSURLSession è altamente asincrona"

È sempre possibile creare una classe di rete che gestisca specificamente tutte le reti per l'app. Quindi riutilizzare non è solo un'opzione, ma è anche raccomandato.

https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSession_class/

Here è un buon tut che spiega le differenze tra NSURLSession e NSULConnection per una migliore comprensione di esso è destinato l'uso.