import UIKit
class DownLocader: NSObject,NSURLSessionDownloadDelegate {
var session: NSURLSession?
override init() {
super.init()
let imageURL = NSURL(string: "https://httpbin.org/image/png")!
session = NSURLSession(configuration: NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("taask"), delegate: self, delegateQueue: nil)
session?.downloadTaskWithURL(imageURL).resume()
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didFinishDownloadingToURL location: NSURL){
print("下载完成")
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64)
{
print("正在下载 \(totalBytesWritten)/\(totalBytesExpectedToWrite)")
}
func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didResumeAtOffset fileOffset: Int64, expectedTotalBytes: Int64)
{
print("从 \(fileOffset) 处恢复下载,一共 \(expectedTotalBytes)")
}
}
class ViewController: UIViewController {
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//网络请求
var dow: DownLocader
dow = DownLocader()
if let url = NSURL(string: "https://httpbin.org/get"){
NSURLSession.sharedSession().dataTaskWithURL(url
, completionHandler: { (let data, let Response, let error) -> Void in
print(Response)
}).resume()
}
let imageURL = NSURL(string: "https://httpbin.org/image/png")!
// NSURLSession.sharedSession().downloadTaskWithURL(imageURL) {Loca, response, error) -> Void in
//
//
// guard let url = Loca else { return }
// guard let imageData = NSData(contentsOfURL: url) else { return }
// guard let image = UIImage(data: imageData) else { return }
//
// }.resume()
NSURLSession.sharedSession().downloadTaskWithURL(imageURL) { (Loca, response, error) -> Void in
guard let url = Loca else { return }
guard let imageData = NSData(contentsOfURL: url) else { return }
guard let image = UIImage(data: imageData) else { return }
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.imageView.image=image;
})
}.resume()
let uploadURL = NSURL(string: "https://httpbin.org/image/png")!
let request = NSURLRequest(URL: uploadURL)
let fileURL = NSURL(fileURLWithPath: "pathToUpload")
NSURLSession.sharedSession().uploadTaskWithRequest(request, fromFile: fileURL) { (let data, let Response, let error) -> Void in
print("上传成功响应\(Response)")
}.resume()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}