這個 cocopod 真的是不容易,差點就放棄了……ios
還好,我足夠的堅持……json
仍是首先說下具體的步驟,但願能記得足夠的詳細……swift
1.打開終端,cd 到本身項目的文件夾vim
cd 文件路徑api
2.執行 vim Podfile ,建立一個podfile 文件,編輯該文件 -》退出網絡
platform :ios, '8.0' use_frameworks! target 'EZhiChao' do pod 'Alamofire', '~> 4.4' pod 'SDWebImage', '~>3.7' end
3.Pod install 更新 ,靜靜等待更新完成app
4.在 General -> Linked Frameworks andLibraries 中導入post
pods_"本身的項目名稱".frameworkurl
導入成功後,使用 Almofire:spa
仍是建議對這個進行簡單的封裝,swift 本不用引入頭文件的,可是使用framework 的時候,就須要導入下頭文件了,若是每次網絡請求都要導入這個,就覺的很麻煩,
因此就執行最簡單的封裝就好:::::圖個方便
import UIKit import Alamofire class NetManager: NSObject { /* get 請求 */ class func getData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void)) { Alamofire.request(url, method: .get, parameters: nil).responseJSON { (returnResult) in switch returnResult.result{ case .success(let json): success(json) case .failure(let error): print("url 請求錯誤 \(url) \n error == \(error)") break; } } }/* post 請求 */ class func postData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void)){ Alamofire.request(url, method:.post, parameters: parameters).responseJSON {(respose) in switch respose.result { case .success(let json): success(json) case .failure(let error): print("url 請求錯誤 \(url) \n error == \(error)") } } } }
還有就是接收到json 數據的時候,着實的爲難了下,主要是剛剛開始不會swift 的 json 解析,這裏一併記錄了:::::
func getData() { let url = String.init(format:"%@%@" ,hostUrlString, "app/all_article") NetManager.getData(url: url, parameters:nil) { (respose) in print("respose \(respose)")
let dict = respose as! Dictionary<String,AnyObject> let body = dict["body"] as! Dictionary<String,AnyObject> let arr = body["list"] as! Array<Dictionary<String, Any>> for dictionary in arr { let model :Model = Model.creatModel(dictionary: dictionary) self.dataArr.append(model) self.myTableView.reloadData() } } }
cocopod 暫時寫到這裏吧,暫時的話,應該夠用的了……
因爲一直最近網絡一直請求錯誤,發生各類各樣的終止,因此就貼一張,http的 報錯表格吧——————————