swift 第十课 cocopod 网络请求 Alamofire
这个 cocopod 真的是不容易,差点就放弃了……
还好,我足够的坚持……
还是首先说下具体的步骤,希望能记得足够的详细……
1.打开终端,cd 到自己项目的文件夹
cd 文件路径
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 更新 ,静静等待更新完成
4.在 General -> Linked Frameworks andLibraries 中导入
pods_"自己的项目名称".framework
导入成功后,使用 Almofire:
还是建议对这个进行简单的封装,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的 报错表格吧——————————

swift 第十课 cocopod 网络请求 Alamofire的更多相关文章
- swift项目第十天:网络请求工具类的封装
import UIKit /* 必须先导入头文件:import AFNetworking */ import AFNetworking //MARK:-0:定义枚举:以枚举定义请求网络的get和pos ...
- 用 Swift 编写面向协议的网络请求
和我一起参加9 月 1 日 - 9月 2 日在纽约举办的 Swift 社区庆典
- iOS swift HandyJSON组合Alamofire发起网络请求并转换成模型
在swift开发中,发起网络请求大部分开发者应该都是使用Alamofire发起的网络请求,至于请求完成后JSON解析这一块有很多解决方案,我们今天这里使用HandyJSON来解析请求返回的数据并转化成 ...
- CHNetRequest网络请求
Paste JSON as Code • quicktype 软件的使用 iOS开发:官方自带的JSON使用 JSON 数据解析 XML 数据解析 Plist 数据解析 NetRequest 网络数据 ...
- swift中第三方网络请求库Alamofire的安装与使用
swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面 ...
- Swift使用Alamofire实现网络请求
Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信. 要获取最新版本的 Alamofire,前往h ...
- Swift基础之使用Alamofire库进行网络请求和断点下载
好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法 1.什么是Alamofire (1)Alamofire 的前身是 AFNetworking.AFNetwor ...
- [Swift通天遁地]四、网络和线程-(4)使用Alamofire实现网络请求
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- [Swift]Alamofire:设置网络请求超时时间【timeout】的两种方式
两种方式作用相同,是同一套代码的两种表述. 第一种方式:集聚. 直接设置成员属性(全局属性),这种方法不能灵活修改网络请求超时时间timeout. 声明为成员属性: // MARK: - 设置为全局变 ...
随机推荐
- python学习之模块(pip),列表生成式,模块操作mysql,excel
python基础 生成式 列表生成式 格式 [表达式 for 表达式 in 迭代对象 (可加判断)] 原: res1 = [] for i in range(1,5): res1.append(i) ...
- vue 标题上下滚屏 无缝轮播
参考网址:https://www.jianshu.com/p/b6813193ca0d <template> <div class="wrap" :style=& ...
- 0004SpringBoot整合Redis
在已经整合了SpringDataJPA和Junit的基础上,整合Redis,只需要一下几步即可: 1.下载64windows版的Redis安装包.解压并启动服务端 2.配置Redis的起步依赖(pom ...
- 通过Chrome控制台详细查看ajax请求
1.F12打开浏览器开发者工具 2.如图所示
- 指定js文件不使用 ESLint 语法检查
整个文件范围内禁止规则出现警告 将/* eslint-disable */放置于文件最顶部 /* eslint-disable */ alert('foo'); 在文件中临时禁止规则出现警告 将需要忽 ...
- jQuery于js的区别和联系
一.什么是jQuery jQuery 是 js 的一个库,封装了我们开发过程中常用的一些功能,方便我们调用,提高开发效率. js库是把我们常用的功能放到一个单独的文件中,我们用的时候,直接引用到页面里 ...
- 利用tycho插件自动生成pom文件
mvn org.eclipse.tycho:tycho-pomgenerator-plugin:generate-poms -DgroupId=com.vogella.tychoexample com ...
- vs调试 iis发布之后的项目
方法一 启动vs 访问iis地址 即可调试 方法二 点击调试, 选择附加到进程 选择所有用户进程, 选择w3wp.exe ,附加 , 即可调试
- Shell 脚本语法
条件测试:test 和 [ 命令 test 或 [ 可以测试一个条件是否成立,如果测试结果为真,则该命令的Exit Status为0,如果测试结果为假,则命令的Exit Status为1(注意与C ...
- fmt
fmt.Println("hello world") fmt.Printf("%T",a)打印a 的类型 fmt.Printf("%v",a ...