Ich habe AFNetworking
für eine Weile benutzt, jedoch kürzlich gehört Meinung NSUrlSession
bietet die gleiche Funktionalität wie AFNetworking
, also keine Notwendigkeit, AFNetworking
zu verwenden. Meistens interessiere ich mich für diese Funktionen wie Operationen, Clients und Lazy-Image-Downloader, bin mir aber nicht sicher, wie viel zusätzlichen Code ich schreiben muss. Hat jemand von AFNetworking
zu NSUrlSession
gewechselt?
NSURLSession
reproduziert nicht die ganze Fülle von AFNetworking (insbesondere die Konstruktion komplexer HTTP-Anfragen und das vereinfachte Parsen der Antworten). Wenn Sie also diese Funktionen von AFNetworking nutzen, sollten Sie bei AFNetworking bleiben.
Für den Programmierer, der momentan NSURLConnection
verwendet, bietet NSURLSession
jedoch einige nette Verbesserungen. Die blockbasierten Methoden von NSURLSession
sind reicher als die von NSURLConnection
bereitgestellten Methoden. Außerdem bietet NSURLSession
Hintergrundsitzungsfunktionen, mit denen Anforderungen fortgesetzt werden können, selbst wenn die App nicht ausgeführt wird.
Für den AFNetworking-Entwickler, der AFHTTPRequestOperationManager
verwendet (was NSURLConnection
-based ist), bietet AFNetworking jetzt AFHTTPSessionManager
, eine sehr ähnliche Schnittstelle, die NSURLSession
intern nutzt (aber interessanterweise nicht NSOperationQueue
-basiert) . Wenn Sie also einige NSURLSession
-Features mit AFNetworking genießen möchten, sollten Sie in Erwägung ziehen, AFHTTPSessionManager
anstelle von AFHTTPRequestOperationManager
zu verwenden.
AFNetworking wird auf NSUrlSession geschrieben, daher gibt es keinen Grund, sich davon zu lösen, es sei denn, Sie möchten alle Implementierungsdetails handhaben, die AFNetworking bereits für Sie erledigt hat, und mehr bis zu dem Punkt, an dem es von Tausenden von Benutzern getestet wird Eine tägliche Basis ist daher eine ziemlich stabile und ausgereifte Bibliothek.
Ich benutze es nicht, da ich die inneren Funktionen der nativen NSUrlConnection und NSUrlSession kenne, aber für die meisten Leute ist AFNetworking 2.X viel einfacher zu handhaben. Ich war kein Fan von AFNetworking 1.X, weshalb ich mich selbst intensiv damit beschäftigte, bevor 2.X verfügbar war.
Tags und Links objective-c ios afnetworking nsurlsession