Alamofire是一個用Swift編寫的HTTP網絡庫,由此前熱門開源項目AFNetworking的的作者mattt開發,可非常簡單地用於異步網絡通信。
要獲取最新版本的 Alamofire,前往https://github.com/Alamofire/Alamofire然后單擊網頁右邊的Download ZIP按鈕。接着在 Finder 中打開起始項目文件夾,,然后將Alamofire-master文件夾拖入到您的主項目文件夾中。
打開Alamofire-master文件夾(現在它位於您的項目文件夾中),然后將Alamofire.xcodeprij文件(注意是藍色圖標!不是白色圖標!)直接拖進 Xcode 中的 AlamofireDemo 項目下面,如下圖所示:
接下來,單擊AlamofireDemo項目,進入General窗口。滾動到Embedded Binaries項,然后單擊其下方的 + 號。選擇Alamofire.framework,最后點擊Add完成添加。
生成並運行您的項目以確保沒有任何錯誤出現,然后就可以進入到下一節內容了。
要使用 Alamofire 的話,首先需要導入它。您需要在每個使用了 Alamofire 類以及函數的文件中添加這條`import`語句。
import Alamofire
Alamofire 是一個功能強大的,Swift 語言 HTTP 網絡開發工具包。支持各種 HTTP Method、JSON、文件上傳、文件下載和多種認證方法。
接下來我們來看具體操作
GET請求
Alamofire.request(.GET, "http://httpbin.org/get")
包含參數
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"])
包含 Response 處理
Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["foo": "bar"]) .response { (request, response, data, error) in println(request) println(response) println(error) }
POST請求
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", destination: { (temporaryURL, response) in if let directoryURL = NSFileManager.defaultManager() .URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as? NSURL { let pathComponent = response.suggestedFilename return directoryURL.URLByAppendingPathComponent(pathComponent) } return temporaryURL })
上傳文件
let fileURL = NSBundle.mainBundle() .URLForResource("Default", withExtension: "png") Alamofire.upload(.POST, "http://httpbin.org/post", file: fileURL)
下載圖片
Alamofire.request(.GET, "/article/image/20150128/54c85e49bfa8d25764000f47/small_f3338d9cdf932cc3c0464dcb523361c5.jpg").response() {(_, _, data, _) in let image = UIImage(data: data! as NSData) self.imageView.image = image }
現在您已經學會了如何使用 Alamofire 操作最基本的網絡請求了。
但是有可能因為 framework 的原因 在真機上運行失敗。千萬要淡定,請看下篇!!!