一、 AFN 使用注意点

1. block循环引用 bug 解决

iOS 网络处理注意点_下拉刷新

2.请求管理者

  • 1.请求管理者存储到内存

    • 请求管理者作为变量,实现懒加载,方便管理所有的请求,使用请求管理者变量发送请求。
iOS 网络处理注意点_逻辑判断_02
 
iOS 网络处理注意点_下拉刷新_03


2.注意:控制器挂了,我们要停止请求

  • 有以下两种方式实现,停止请求,视情况而定选择哪种方式。
  • 方式一:取消所有请求后,任然可以使用请求管理者manager再次发送请求,因为请求管理者还未在内存中销毁
    • 注意点:该方式使用场景还有:例如,我们拖拽表格下拉刷新加载最新数据 -> 我们就应该取消之前的请求,然后再次请求网络加载最新数据,从而避免不必要的bug的错误。
iOS 网络处理注意点_拖拽_04


方式二:不能再用请求管理者manager发送请求了,已挂
iOS 网络处理注意点_逻辑判断_05


3、请求失败多种原因处理

  • 错误原因:多种多样

    • 域名写错
    • 取消任务:[ error.code = -999 /error.code = NSURLErrorCancelled( -999_)]
    • 超时iOS 网络处理注意点_下拉刷新_06
    •      

    • 错误逻辑判断处理
    • iOS 网络处理注意点_拖拽_07