Sollten wir in Erwägung ziehen, von AFNetworking zu NSUrlSession überzugehen? [geschlossen]

8

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?

    
Centurion 02.12.2014, 13:57
quelle

3 Antworten

14

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.

    
Rob 02.12.2014, 14:39
quelle
3

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.

    
darren102 02.12.2014 14:08
quelle
0

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.

    
ahwulf 02.12.2014 14:13
quelle