这个 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的 报错表格吧——————————