Asynchronous Networking with NSURLSession

iOS 7 introduces an entire new networking stack for developers,NSURLSession. Generally it makes the common tasks simple, and the hard
tasks possible. It also drives the new background fetch capabilities as well.

Like my earlier post, offloading your networking from the main
thread is a simple way to help keep an app responsive. Doing this withNSURLSession is actually quite easy.

This will run the networking off of the main thread, and the callback will come from a system network queue. Generally this is what we want. If you want to have control over what queue the callback comes from, or to be able to handle authentication requests, you should create your own NSURLSession and delegate.