一.使用 AFNetworking 第三方(OC 混编)
1. 导入 AFNetworking 第三方
2. 建立 Swift 与 OC 的桥接头文件
3. 在操作的 VC 中实现代码
在 viewDidLoad 方法中
let parameters = [
"Id": "150529162646"
]
WZYNetworkTool.shareInstance.request(requestType: .Get, url: kUrl, parameters: parameters, succeed: { (response) in
guard let dicArray = response else {
return
}
print(dicArray)
}) { (error) in
guard let error = error else {
return
}
print(error)
}
}
1
2
3
4 可能这种理解会有bug
二. 使用 Alamofire 第三方 ( Swift )
**前去下载最新的 Alamofire 第三方
part1: 导入工程:
1. 根据前面下载一个版本的 Alamofire 文件~
2. 新建一个工程~
3.拷贝 Alamofire 文件到我们新建的工程中~
4.添加文件到我们自己的工程中~
5.检查一下我们静态库有没有加到工程~没有的话我们手动添加一下~
结果应该是这样:
6.导入头文件import Alamofire检查是否配置错误~这里可能没有提示~直接敲完~编译一下就OK了~
part2: 使用 Alamofire
func methodForSwift() -> Void {
// let urlStr = "\(SERVICE_URL)type=\(TOP)&key=\(APPKEY)"
let kUrl = "http://community.alllu.com/?api-threadList"
let parameters = [
"pag": "2",
"id": "144f248abf9789911c8ab1e903ec0f10"
]
Alamofire.request(kUrl, method: .post, parameters: parameters).responseJSON { (returnResult) in
print("secondMethod --> 参数 --> returnResult = \(returnResult.value as Any)")
//字典接收 JSon 数据
let dataDict = returnResult.value as! [String : Any] ;
//从字典中根据 key 提取 value 为数组的数据
let dataArr = dataDict["data"] as! [Any];
for dic in dataArr{
print("title 数值: ",dic);
//从数组中提取字典
let anDict = dic as! [String : Any];
//从字典中提值
let userFaceStr = anDict["userFace"] as! String ;
print("提取单个图片=地址: ",userFaceStr);
let picStr = anDict["userFace"] as! String ;
let titleStr = anDict["title"] as! String ;
self.titleArr.append(titleStr);
self.picArr.append(picStr);
}
// print("title 数租: ",self.titleArr);
//主线程刷新 UI
DispatchQueue.main.async {
self.makeTable();
self.forInArrayHandel();
}
}
}
参考于:笨笨编程