Since almost the entire iOS development community has moved from Objective-C to Swift, preferences in libraries and networking have also shifted. Swift-wise, our networking library of choice is usually Alamofire. Alamofire handles pinning differently than AFNetworking and while neither implementation is wrong, sometimes you might have a preference for a certain method.
Dependency injection is an essential tool when it comes to making code more testable. Instead of having objects either create their own dependencies or access them as singletons, it's the idea that everything an object needs in order to do its work should be passed in from the outside.