NSURL
这是最最基础的类,访问网络资源离不开它,它有不少很有用的方法,比如从字符串创建一个URL。还有创建一个相对于其他URL的URL
let url = NSURL(string: urlString)
let relativeurl = NSURL(string: "\(Int(width))/\(Int(height))/sports/", relativeToURL: NSURL(string:"http://lorempixel.com/"))
relativeurl?.host//lorempixel.com/
对于文件的URL可以使用NSURL(fileURLWithPath:)
NSURL是不可变的,如果在创建之后还想改变它,请使用NSMutableURL。
NSURLRequest
NSURLRequest描述如何访问一个URL
NSURLRequest(URL:,cachePolicy:,timeoutInterval:)
可以设置它的缓存策略,超时时间等
var r = NSMutableURLRequest(URL: NSURL(string: "e")!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringCacheData, timeoutInterval: 2.0)
r.HTTPMethod//HTTP请求方法POST,GET等
r.allHTTPHeaderFields//HTTP请求头部
r.HTTPBody//HTTP请求体
r.allowsCellularAccess
NSURLSession
有个哥们写的很好,我转载了,这里就不啰嗦了。
if let url = NSURL(string: urlString) {
let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration(), delegate: self, delegateQueue: myQueue)
let dataTask = session.dataTaskWithURL(url, completionHandler: { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
if data == nil {
self.imageView.image = nil
} else {
if let image = NSImage(data: data!) {
dispatch_async(dispatch_get_main_queue(), { () -> Void in
self.imageView.image = image
})
}
}
})
dataTask.resume()
}
网友评论