Alamofire 是Swift版的 AFNetworking,是非常方便实用的第三方网络操作框架;
使用方法:
Alamofire.request(method: Method, URLString: URLStringConvertible, parameters: [String : AnyObject]?, encoding: ParameterEncoding, headers: [String : String]?).response (options: NSJSONReadingOptions, completionHandler: { (NSURLRequest, NSHTTPURLResponse?, NSData?, NSError?) -> Void in })
|
但是上面方法中有些参数可以省略,基本用法如下:
Alamofire.request(.GET, "URL").responseJSON(options: NSJSONReadingOptions.AllowFragments) { (_, _, json, _) -> Void in }
|
获取数据的方法
- response()
- responseString(encoding: NSStringEncoding)
- responseJSON(options: NSJSONReadingOptions)
- responsePropertyList(options: NSPropertyListReadOptions)
HTTP Methods
public enum Method: String { case OPTIONS = "OPTIONS" case GET = "GET" case HEAD = "HEAD" case POST = "POST" case PUT = "PUT" case PATCH = "PATCH" case DELETE = "DELETE" case TRACE = "TRACE" case CONNECT = "CONNECT" }
|
请求需要的参数parameters
类型是一个字典 [String : AnyObject]
let parameters = [ "foo": "bar", "baz": ["a", 1], "qux": ["x": 1 , "y": 2 , "z": 3] ] Alamofire.request(.POST, "http://httpbin.org/post", parameters: parameters)
|
下载文件
Alamofire.download(.GET, "http://httpbin.org/stream/100") { temporaryURL, response in let fileManager = NSFileManager.defaultManager() if let directoryURL = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as? NSURL { let pathComponent = response.suggestedFilename return directoryURL.URLByAppendingPathComponent(pathComponent!) } return temporaryURL }
|
这些都只是Alamofire的常规使用,更加详细的使用方法其官方网站上有详细描述。