您的位置:首页 > 理论基础 > 计算机网络

swift网络请求的相关方法

2015-12-25 12:36 447 查看
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.

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: