这个 cocopod 真的是不容易,差点就放弃了……

还好,我足够的坚持……

还是首先说下具体的步骤,希望能记得足够的详细……

1.打开终端,cd 到自己项目的文件夹

cd 文件路径

2.执行 vim Podfile ,创建一个podfile 文件,编辑该文件 -》退出

  1. platform :ios, '8.0'
  2. use_frameworks!
  3.  
  4. target 'EZhiChao' do
  5. pod 'Alamofire', '~> 4.4'
  6. pod 'SDWebImage', '~>3.7'
  7. end

3.Pod install 更新 ,静静等待更新完成

4.在 General -> Linked Frameworks andLibraries 中导入

pods_"自己的项目名称".framework

导入成功后,使用 Almofire:

还是建议对这个进行简单的封装,swift 本不用引入头文件的,但是使用framework 的时候,就需要导入下头文件了,如果每次网络请求都要导入这个,就觉的很麻烦,

所以就执行最简单的封装就好:::::图个方便

  1. import UIKit
  2. import Alamofire
  3.  
  4. class NetManager: NSObject {
  5. /*
  6. get 请求
  7. */
  8. class func getData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void)) {
  9.  
  10. Alamofire.request(url, method: .get, parameters: nil).responseJSON { (returnResult) in
  11.  
  12. switch returnResult.result{
  13.  
  14. case .success(let json):
  15.  
  16. success(json)
  17.  
  18. case .failure(let error):
  19. print("url 请求错误 \(url) \n error == \(error)")
  20. break;
  21. }
  22. }
  23. }/*
  24. post 请求
  25. */
  26. class func postData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void)){
  27.  
  28. Alamofire.request(url, method:.post, parameters: parameters).responseJSON {(respose) in
  29.  
  30. switch respose.result {
  31.  
  32. case .success(let json):
  33. success(json)
  34.  
  35. case .failure(let error):
  36. print("url 请求错误 \(url) \n error == \(error)")
  37. }
  38. }
  39. }
  40. }

还有就是接收到json 数据的时候,着实的为难了下,主要是刚刚开始不会swift 的 json 解析,这里一并记录了:::::

  1. func getData() {
  2.  
  3. let url = String.init(format:"%@%@" ,hostUrlString, "app/all_article")
  4.  
  5. NetManager.getData(url: url, parameters:nil) { (respose) in
  6.  
  7. print("respose \(respose)")
  8. let dict = respose as! Dictionary<String,AnyObject>
  9. let body = dict["body"] as! Dictionary<String,AnyObject>
  10. let arr = body["list"] as! Array<Dictionary<String, Any>>
  11.  
  12. for dictionary in arr {
  13.  
  14. let model :Model = Model.creatModel(dictionary: dictionary)
  15. self.dataArr.append(model)
  16. self.myTableView.reloadData()
  17. }
  18. }
  19. }

cocopod 暂时写到这里吧,暂时的话,应该够用的了……

由于一直最近网络一直请求错误,发生各种各样的终止,所以就贴一张,http的 报错表格吧——————————

swift 第十课 cocopod 网络请求 Alamofire的更多相关文章

  1. swift项目第十天:网络请求工具类的封装

    import UIKit /* 必须先导入头文件:import AFNetworking */ import AFNetworking //MARK:-0:定义枚举:以枚举定义请求网络的get和pos ...

  2. 用 Swift 编写面向协议的网络请求

    和我一起参加9 月 1 日 - 9月 2 日在纽约举办的 Swift 社区庆典

  3. iOS swift HandyJSON组合Alamofire发起网络请求并转换成模型

    在swift开发中,发起网络请求大部分开发者应该都是使用Alamofire发起的网络请求,至于请求完成后JSON解析这一块有很多解决方案,我们今天这里使用HandyJSON来解析请求返回的数据并转化成 ...

  4. CHNetRequest网络请求

    Paste JSON as Code • quicktype 软件的使用 iOS开发:官方自带的JSON使用 JSON 数据解析 XML 数据解析 Plist 数据解析 NetRequest 网络数据 ...

  5. swift中第三方网络请求库Alamofire的安装与使用

    swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面 ...

  6. Swift使用Alamofire实现网络请求

    Alamofire是一个用Swift编写的HTTP网络库,由此前热门开源项目AFNetworking的的作者mattt开发,可非常简单地用于异步网络通信. 要获取最新版本的 Alamofire,前往h ...

  7. Swift基础之使用Alamofire库进行网络请求和断点下载

    好久没有写过Swift相关的文章博客了,这里我就展示一下关于使用Alamofire库的方法 1.什么是Alamofire (1)Alamofire 的前身是 AFNetworking.AFNetwor ...

  8. [Swift通天遁地]四、网络和线程-(4)使用Alamofire实现网络请求

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. [Swift]Alamofire:设置网络请求超时时间【timeout】的两种方式

    两种方式作用相同,是同一套代码的两种表述. 第一种方式:集聚. 直接设置成员属性(全局属性),这种方法不能灵活修改网络请求超时时间timeout. 声明为成员属性: // MARK: - 设置为全局变 ...

随机推荐

  1. - The superclass "javax.servlet.http.HttpServlet" was not found on the Java

    网上有很多解决方法,如这种 下面是具体的解决方法:1.右击web工程->属性或Build Path->Java Build Path->Libraries-> Add Libr ...

  2. linux基础知识和常用命令

    1.修改主机名 切换到root,然后执行 vim /etc/sysconfig/network,进入其中,更改hostname即可.insert进入修改,esc+:,wq保存退出. 2.用户切换 普通 ...

  3. 基于 C++ 的脚本语言 cpps 脚本

    cpps 脚本是一个基于 C++ 的脚本语言. 基础语法: if&else 接口说明 根据括号中数据判断执行相关代码. 代码演示 var i = toint(io.getc()); if(i  ...

  4. C# 任务、线程、同步(三)

    线程池使用, 线程池中线程均为后台线程 static void Main() { int nWorkerThreads; int nCompletionPortThreads; ThreadPool. ...

  5. CF786C Till I Collapse 整体二分+根号分治

    题意:对于一个序列,假如说一个区间内最多能包含 $k$ 个不同的数,那么这个序列最少会被划分成几个区间 $?$ 输出 $k$ 为 $1\sim n$ 的答案. 我们每次选区间一定是贪心地将这个区间选地 ...

  6. BZOJ3791 作业 动态规划

    你发现染 $k$ 次最多会将这个序列分成 $2k-1$ 段,然后任何 $2k-1$ 段以内的方案一定能被构建出来,所以直接 dp 就好了 #include <bits/stdc++.h> ...

  7. [HNOI2008] 越狱 快速幂

    [HNOI2008] 越狱 快速幂 水.考虑不发生越狱的情况:即宗教相同的都不相邻,一号任意放\(m\)种宗教的人,此后\(n-1\)个房间都放与上一个宗教不同的人,有\(m-1\)种,所以共有\(m ...

  8. [TJOI2019]唱、跳、rap和篮球

    嘟嘟嘟 TJ律师函警告 20分暴力比较好拿,因为每一种学生可以理解为无限多,那么总方案数就是\(C_{n} ^ {4}\),然后我们枚举至少讨论cxk的有几组,容斥即可. 需要注意的是,容斥的时候还要 ...

  9. Selenium结合BeautifulSoup4编写简单爬虫

    在学会了抓包,接口请求(如requests库)和Selenium的一些操作方法后,基本上就可以编写爬虫,爬取绝大多数网站的内容. 在爬虫领域,Selenium永远是最后一道防线.从本质上来说,访问网页 ...

  10. MySQL数据分析-(9)库操作补充:用户管理和权限管理

    大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析实战,本节课的主题是用户管理和权限管理: 在分享之前,jacky在不厌其烦的强调一下:学习任何一门学科和技能,最重要的是捋清逻辑,我们要知 ...