iOS基础框架深究之AFNetWorking day 1

本文深入探讨了iOS开发中常用的网络框架AFNetworking的网络可达性管理类AFNetworkReachabilityManager。从其源码出发,详细解释了如何利用SystemConfiguration API监控网络状态,包括枚举封装、初始化方法、网络状态回调和本地化处理。通过对AFNetworkReachabilityManager的源码分析,为开发者提供更深层次的理解和应用建议。
摘要由CSDN通过智能技术生成

我工作6年半,一直从事业务层面的开发,iOS底层相关的东西也只是通过视频去做了解,随着年龄的变化,会发现以后的路会越来越窄,学习这个东西什么时候开始学都不晚,说不定什么时候会给你带来意想不到的事情,别管别的事情了,最起码从现在开始,慢慢丢弃身边的杂事,不要在乎眼前的那点利益,也不要刻意追求什么,踏下心做好一件事,花更多的时间在接触知识上,这是今天我对自己说的话。也是以过来人给大家的一个忠告。接下来探索一下一些优秀的开源框架,希望有一天我们,总有一天我们可以搭建出更好的框架。

AFNetWorking这个网络框架我们都非常熟悉,无论是日常的使用还是面试,其实我们只是觉得他是做网络请求的,刚接触的时候只知道用post get方法,接触http协议后有可能会用到put delete等方法,对于它内部的实现原理我们并没有做深究,今天往后的一段时间里我们将深究其中,揭开他神奇的面纱,不要给别人说我会用了。本系列以AFNetWorking 3.0作为源码解读。

我们先看看整个框架的一个逻辑,我们先看一个监控网络环境变化的类AFNetworkReachabilityManager

#import <SystemConfiguration/SystemConfiguration.h>

通过导入了这个头文件,我们知道网络监控的实现是依赖 SystemConfiguration这个api的。说明这个api可以提供这样的功能。

 这是一个枚举封装,还是遵循一个使用枚举的原则,当满足一个有限的并具有统一主题的集合的时候,我们就考虑枚举。网络上这4种类型基本能满足我们开发中的大部分功能。

四个属性均为只读属性,只给了用户访问权,注意BOOL属性一般要写成getter方法的。 

提供了5种初始化方法,能够满足大部分的需求。

SCNetworkReachabilityRef 这个很重要,这个类的就是基于它开发的。 

+ (instancetype)managerForDomain:(NSString *)domain; 监听制定domain网络状态

+ (instancetype)managerForAddress:(const void *)address;监听某个socket地址的网络状态,socket通信请看这里c 网络与套接字socket - 马在路上 - 博客园

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青年没有路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值