ObjC
NSURLSessionConfiguration *sessionConfig = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfig.timeoutIntervalForRequest = 30.0;
sessionConfig.timeoutIntervalForResource = 60.0;
Schnell
let sessionConfig = URLSessionConfiguration.default
sessionConfig.timeoutIntervalForRequest = 30.0
sessionConfig.timeoutIntervalForResource = 60.0
let session = URLSession(configuration: sessionConfig)
Was die Dokumente sagen
timeoutIntervalForRequest
und timeoutIntervalForResource
geben Sie das Zeitlimit für die Anforderung sowie die Ressource an.
timeoutIntervalForRequest
- Das Zeitlimit, das beim Warten auf zusätzliche Daten verwendet werden soll. Der diesem Wert zugeordnete Timer wird zurückgesetzt, sobald neue Daten eintreffen. Wenn der Anforderungszeitgeber das angegebene Intervall erreicht, ohne neue Daten zu empfangen, wird eine Zeitüberschreitung ausgelöst.
timeoutIntervalForResource
- Die maximale Zeit, die eine Ressourcenanforderung in Anspruch nehmen darf. Dieser Wert steuert, wie lange auf die Übertragung einer gesamten Ressource gewartet werden muss, bevor aufgegeben wird. Der Ressourcen-Timer startet, wenn die Anforderung initiiert wird, und zählt, bis entweder die Anforderung abgeschlossen ist oder dieses Zeitlimit erreicht ist, je nachdem, was zuerst eintritt.
Basierend auf der NSURLSessionConfiguration-Klassenreferenz
NSOperationQueue
mitmaxConcurrentOperationCount
) , einschränken . Dies ist nicht zu kompliziert, wenn Sie die nicht delegierte basierte Wiedergabe von verwendenNSURLSession
und die Abschlussblockwiedergaben verwenden. Aufgrund erheblicher Probleme mit derNSURLSession
Architektur ist es etwas schwierig, dies richtig zu machen, wenn der delegatenbasierte Ansatz verwendet wird.