您的位置:首页 > 理论基础 > 计算机网络

Swift 中的网络请求问题 OC(AFNetworking) && Swift(Alamofire)

2017-08-18 18:07 441 查看
一使用 AFNetworking 第三方OC 混编
导入 AFNetworking 第三方

建立 Swift 与 OC 的桥接头文件

在操作的 VC 中实现代码

二 使用 Alamofire 第三方 Swift
part1 导入工程
根据前面下载一个版本的 Alamofire 文件

新建一个工程

拷贝 Alamofire 文件到我们新建的工程中

添加文件到我们自己的工程中

检查一下我们静态库有没有加到工程没有的话我们手动添加一下

导入头文件import Alamofire检查是否配置错误这里可能没有提示直接敲完编译一下就OK了

part2 使用 Alamofire

一.使用 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




bb9d
二. 使用 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();
}
}
}


参考于:笨笨编程

本文OC 与 Swift 的网络请求源码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: