IOS网络框架的Alamofire5.4高版本网络工具封装

网上一般的封装都是过期的swift写法,或者低版本的Alamofire,照搬照抄只会报错一大堆。令开发者很是头疼。特此公开最新的网络工具封装。我只用最新版本的软件,其他版本一概不用
pod 加入

pod 'Alamofire', '~> 5.4.4'

写法:

//  Created by lujun on 2021/11/20.
//import UIKit
import Alamofireenum MethodType {case GETcase POST
}
class NetworkTools{static let sharedInstance : NetworkTools = NetworkTools()private init(){}func requestData(type: MethodType,urlString: String, parameters: [String : Any]? = nil,finishedCallback : @escaping ( _ results : Any?, _ err: NSError?) -> ()){if(type==MethodType.GET){Alamofire.AF.request(urlString).responseJSON { (response) inswitch response.result {case .success(let json):finishedCallback(json as Any,nil)breakcase .failure(let error):print("error:\(error)")finishedCallback(nil,error as NSError)break}}}if(type==MethodType.POST){Alamofire.AF.request(urlString, method: .post, parameters: parameters).responseJSON { (response) inswitch response.result {case .success(let json):finishedCallback(json as Any,nil)breakcase .failure(let erro):print("error:\(erro)")finishedCallback( nil,erro  as NSError )break}}}}//类方法func requestDataWithParam(type: MethodType,urlString: String, parameters: [String : Any],finishedCallback : @escaping ( _ results : Any) -> ()){AF.request(urlString, parameters: parameters).responseJSON { (response) inswitch response.result {case .success(let json):finishedCallback(json)breakcase .failure(let error):print("error:\(error)")break}}}
}

使用单例,创建唯一的对象。
测试Post ,看看能不能拿到accessToken。

func loadAccessToken(code: String) -> Void{let params = ["client_id":app_key,"client_secret":app_secret,"redirect_uri":redirect_url,"grant_type":"authorization_code","code":code]let baseUrl: String = "https://api.weibo.com/oauth2/access_token"NetworkTools.sharedInstance.requestData(type: .POST, urlString: baseUrl, parameters: params) { results, err indebugPrint(results)}}

控制台打印

Optional({"access_token" = "2.00tIZEpFEvWN6C38ab57404702UTsh";"expires_in" = 157679999;isRealName = true;"remind_in" = 157679999;uid = 5335345699;
})

IOS网络框架的Alamofire5.4高版本网络工具封装相关推荐

  1. IOS的Alamofire5.4高版本上传图片

    IOS的Alamofire5.4高版本上传图片 Alamofire框架上传图片是比较冷门的知识.经常性报错,也找不到相关解释,或者其他低版本的写法,令开发者很是头疼.低版本的写法,在5.4.4API已 ...

  2. 达梦数据库,dimp导入报错:该工具不能解析此文件,请使用更高版本的工具

    经常有朋友反馈达梦数据库,dimp导入报错:该工具不能解析此文件,请使用更高版本的工具 这种问题一般有两种情况: 1.用oracle等异构数据库导出的dmp文件来进行导入,这个是不支持的,建议用数据迁 ...

  3. 架构师之路-网络框架的搭建(高逼格)

    一,了解常见的框架 1,你已经工作量3年不等或也许是菜鸟,只要接触Android开发那么在项目中必不可少的就是一些第三方框架:常见的网络请求框架,图片加载框架等- 我们具体了解下常见的网络框架: 网络 ...

  4. Android高版本网络请求失败 Cleartext HTTP traffic to xxx not permitted

    我可以失败,但是不可以有遗憾! ----泰语心说 今天升级build gradle的targetversion,发现升级完后,网络请求一直失败,而且用Charles抓包看,发现连网络请求都没有,后来在 ...

  5. FFLIB网络框架单线程0.0.1版本-epoll_socket

    更新: 封装了epoll和socket,目前是单线程版本 问题: 对于epoll_wait操作,何时将会触发EPOLLERR? 服务器端close掉socket时候,如何保证EPOLLIN不会再触发, ...

  6. android搭建网络框架,Android 搭建MVP+Retrofit+RxJava网络请求框架(三)

    上一篇中主要是将mvp+rxjava+retrofit进行了结合,本篇主要是对mvp框架的优化:建议先去看上一篇:Android 搭建MVP+Retrofit+RxJava网络请求框架(二) 针对vi ...

  7. DM工作笔记-dimp及dexp的使用及解决该工具不能解析此文件,请使用更高版本的工具

    再DM的bin目录下有下面2个程序: dimp 导入dump文件的 查看其help文件: dexp 导出demp文件的 查看其help文件: 下面每一个给出一个示例: 导出dmp文件 dexp USE ...

  8. s60 微信 服务器繁忙,微信Mars — 移动互联网下的高质量网络连接探索

    1.astrozhou|周志杰 2.微信Mars之高质量网络连接探索 astrozhou|周志杰 3.自我介绍 • 10年毕业加入腾讯,开发S60v5 手中邮 • 11年初转战微信, 开发symbia ...

  9. Android 网络框架_常用的网络框架

    看了张哥(stormzhang)的博客之后,深有感触,又让我感慨了一番,而且发现张哥的博客英文跟汉字之间是有空格的,数字跟汉字之间也有空格,看起来很舒服很美观,张哥真的是把每一个细节都做的很好,所以身 ...

最新文章

  1. 刘鹏飞 袁玮哲:自动生成论文评审意见!AI可以取代审稿人吗?
  2. Traincascade Error: Bad argument (Can not get new positive sample. The most possible reason is insuf
  3. Postman接口测试之POST、GET请求方法
  4. luogu P3379 【模板】最近公共祖先(LCA)
  5. linux centos7开启IP转发、路由转发解决docker 端口映射 及外部无法访问问题
  6. python爬虫科研数据提取_python爬虫数据提取四之pyquery
  7. asp.net中大文件下载
  8. 关于编程学习的一些思考 | 欢迎投稿
  9. Oracle基础 TO_CHAR函数参考(转)
  10. 2020年入门数据分析选择Python还是SQL?七个常用操作对比!
  11. Myeclipse中添加XFire插件支持
  12. Linux下JDK和Tomcat安装
  13. WPF 入门教程RelativeSources
  14. Win10没有Realtek高清晰音频管理器怎么办?
  15. win10电脑打开计算机快捷键,win10如何打开计算器工具 快速打开Win10计算器的四种方法...
  16. 计算机毛利润的函数,毛利率计算公式
  17. java助教_2018-2019第一学期Java助教心得
  18. 道道通导航linux升级,道道通导航升级免费版
  19. Win11如何设置自动关机
  20. CSDN:2021博客之星年度总评选大赛投票

热门文章

  1. 查询mysql视图_MySQL数据库简介及常用命令
  2. shell错位_Linux 中纠正拼写错误的Bash 命令方法
  3. 计算机跨考医学检验技术,医学检验技术考研可以考哪些专业?
  4. 波士顿动力机器人全体出动,奉上新年之舞!
  5. 秀操作:函数宏的三种封装方式
  6. C语言三剑客之《C陷阱与缺陷》一书精华提炼
  7. mysql 32k 限制_ORA-22828 输入样式或替换參数超过了32k限制大小
  8. redis常用命令_Redis的简介以及基本常用命令
  9. 大数据 -- kafka学习笔记:知识点整理(部分转载)
  10. Wannafly挑战赛22 D 整数序列 (线段树维护三角函数值)