NSURLSessionDelegate protocol describes the methods that
URLSession objects call on their delegates to handle session-level events. In addition to the methods defined in this protocol, most delegates should also implement some or all of the methods in the
URLSessionDownloadDelegate protocols to handle task-level events.
- iOS 8.0+
- macOS 10.10+
- tvOS 9.0+
- watchOS 2.0+