当前位置: 首页 > news >正文

iOS网络基础 实战进阶篇

#iOS网络基础-实战进阶篇

实战进阶篇

AFNetworking

  • 轻量级的iOS/macOS网络库
  • 支持HTTP/HTTPS请求
  • https://github.com/AFNetworking/AFNetworking/
  • AFNetworking 3.x 基于NSURLSession
  • AFNetworking 2.x 基于NSURLSession和NSURLConnection
  • 事实上的业界标准

AFNetworking优点

  • 封装了网络请求的细节
  • 简单易使用
  • 功能丰富
  • 设计良好,便于扩展
  • 持续更新维护

示例

AFNetworking基本用法

AFNetworking post请求

Request Serializer

post请求简化

SDWebImage的基本使用

sd_setImageWithURL:帮我们做的事:

  • 下载图片
  • 缓存图片
  • 内存+磁盘
  • 异步下载
  • 主线程展示

设置placeholderImage

UIButton

如何只下载和缓存,不需要马上显示在界面上

####缓存清理

调试工具

访问网络出现的问题

  • 请求格式不对
  • 服务器没有正确处理
  • 网络出错
  • 没有返回HTTP Body
  • 数据解析的格式不对

调试需求

  • 请求格式,参数,内容是否正确
  • 服务器是否能够正确响应请求
  • 返回数据的格式是否正确
  • 网络是否顺畅

接口测试工具-postman

检测服务器能否响应请求

作用:

  • 测试服务器是否正确实现了所约定的网络请求的接口
  • GET/POST/PUT/DELETE
  • 多种Content-Type:multipart/form-data,JSON
  • 确定请求格式与内容
  • 上传文件/下载文件

报文捕获工具-Charles

  • 报文捕获
  • 查看请求与响应的原始报文信息

相关文章:

  • 使用ELK构建分布式日志分析系统
  • 后端的一些经验与心得
  • 超过父控件的部分不能响应事件怎么办
  • WKWebView的使用总结(oc与js交互使用心得)
  • JavaScript 中的错误隔离
  • golang测试
  • java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框...
  • 八个维度,谈谈产品经理的分类与发展方向
  • 第一课 安装 登陆CentOS 7
  • 创建和使用数据库
  • CSS中使用expression完美设置页面最小宽度
  • Android 从SetContentView()谈起
  • 为什么volatile不能保证原子性而Atomic可以?
  • SQL优化常用方法44
  • NoSQL
  • 2019.2.20 c++ 知识梳理
  • 77. Combinations
  • Angular 4.x 动态创建组件
  • AWS实战 - 利用IAM对S3做访问控制
  • Babel配置的不完全指南
  • Fabric架构演变之路
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • k8s如何管理Pod
  • QQ浏览器x5内核的兼容性问题
  • SpingCloudBus整合RabbitMQ
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 排序(1):冒泡排序
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信小程序开发问题汇总
  • 写代码的正确姿势
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #100天计划# 2013年9月29日
  • $$$$GB2312-80区位编码表$$$$
  • (1)Android开发优化---------UI优化
  • (C++)八皇后问题
  • (C语言)球球大作战
  • (done) 两个矩阵 “相似” 是什么意思?
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (八)Spring源码解析:Spring MVC
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • *1 计算机基础和操作系统基础及几大协议
  • ./和../以及/和~之间的区别
  • .gitattributes 文件
  • .md即markdown文件的基本常用编写语法
  • .NET Core中Emit的使用
  • .net redis定时_一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 调用php,php 调用.net com组件 --
  • .NET4.0并行计算技术基础(1)