iOS_developer_zhong
码龄13年
关注
提问 私信
  • 博客:1,407,371
    社区:70
    问答:151
    1,407,592
    总访问量
  • 133
    原创
  • 953,221
    排名
  • 675
    粉丝
  • 1
    铁粉

个人简介:iOS开发工程师

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖南省
  • 加入CSDN时间: 2012-05-12
博客简介:

zhonggaorong的专栏

查看详细资料
个人成就
  • 获得459次点赞
  • 内容获得193次评论
  • 获得1,826次收藏
  • 代码片获得187次分享
创作历程
  • 35篇
    2021年
  • 4篇
    2020年
  • 4篇
    2019年
  • 2篇
    2018年
  • 14篇
    2017年
  • 174篇
    2016年
  • 45篇
    2015年
  • 1篇
    2014年
成就勋章
TA的专栏
  • OC/Swift高级进阶
    31篇
  • Flutter
    3篇
  • c语言
    4篇
  • Object_c
    56篇
  • 基础UI
    4篇
  • 高级UI
    6篇
  • IOS开发技巧
    30篇
  • IOS高级知识总结
    109篇
  • NBA
    1篇
  • swift
    13篇
  • 前端学习
    10篇
  • iOS优化
    17篇
  • 安卓
    7篇
  • 视频直播
    5篇
  • GCD
    4篇
  • 优秀开源框架解读
    4篇
  • Java Script
    4篇
  • Python
    5篇
  • php
    4篇
  • 微信小程序
    2篇
  • ASO优化
    1篇
  • 自动打包
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Swift - Alamofire源码解析

文章目录Alamofire源码解析一、Alamofire目录结构二、使用的基本流程 (不讲解基本使用,从源码解析)1. 发起请求的源码 (举例:普通请求流程)2. SessionManager 的关键点解析3. SessionManager , 发起请求关键代码4. SessionDelegate , 收到请求关键代码5. TaskDelegate , 收到请求的关键代码5. 数据序列化的工作。 ResponseSerialization类,关键代码总结Alamofire源码解析解析版本: Ala
原创
发布博客 2021.10.13 ·
1231 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Swift持久化存储对象到文件中JSONEncoder 与 JSONDecoder

保存一个弹窗对象数组到本地// 数据存储本地的路径 private lazy var filePath:URL = { let manager = FileManager.default var filePath = manager.urls(for: .documentDirectory, in: .userDomainMask).first filePath!.appendPathComponent("aderviseInfos.archive"
原创
发布博客 2021.10.09 ·
1174 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

iOS开发底层之多线程探索 - 19

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
原创
发布博客 2021.09.12 ·
509 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS开发底层之KVO探索下 -18

文章目录一、自定义KVO二、KVO框架# 前言提示:本章主要讲自定义KVO 和 优秀的第三方KVO一、自定义KVO二、KVO框架
原创
发布博客 2021.09.11 ·
390 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS开发底层之KVO探索上 - 17

文章目录前言一、KVO是什么?二、KVO注意项1. KVO中的Context有什么作用?2. 忘记移除观察者,而造成程序的崩溃3. 控制某些属性不能使用KVO4. 一对多的观察。5. 对可变数组的KVO。三、KVO的流程和原理前言本章内容主要是围绕KVO进行探索,从KVO的介绍 -》KVO的坑点 -》 KVO的大致流程 -》KVO的自定义实现 -》优秀的KVO封装库介绍。一、KVO是什么?KVO的全称为:Key-Value Observing,“键值监听”。主要作用为:监听某个对象属性值
原创
发布博客 2021.09.10 ·
237 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS-高德地图路线规划开发记录

1. 骑行路径规划调用 // 获取当前位置作为起点 let beginLocation = FCMapShareTool.shared._userLocationCoordinate2D let request = AMapRidingRouteSearchRequest.init() // 路径起始点 request.origin = AMapGeoPoint.location(withLatitude: C
原创
发布博客 2021.09.10 ·
663 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

iOS开发底层之常见问题解答 - 15

1. load与c++构造函数调用顺序2. runtime是什么?3. initialize调用顺序?4. 同名分类方法的调用顺序?5. 分类和扩展的区别?
原创
发布博客 2021.09.09 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

iOS开发底层之KVC了解 - 16

KVC是什么?KVC全称Key-Value Coding(键值编码),是一种由NSKeyValueCoding非正式协议启用的机制,对象采用它来提供对其属性的间接访问。当一个对象符合键值编码时,它的属性可以通过字符串Key来寻址。这种间接访问机制补充了实例变量及其关联的访问方法所提供的直接访问API介绍:KVC的API在Foundation框架中KVC本质上是对NSObject、NSArray、NSDictionary、NSMutableDictionary、NSOrderedSet、NSSet
原创
发布博客 2021.09.09 ·
174 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS开发底层之类加载下 (关联对象) - 14

文章目录前言一、分类什么时候加载?二、attachCategories三、 类扩展、分类 应用层1. category:分类2. extension:扩展3 .关联对象 (AssociatedObject)4. AssociationsHashMap总结1. 设值过程2. 取值过程前言ro rw rwe的补充?ro (干净内存,只读) -》 rw (脏内存,昂贵,所以需要优化) -》 rwe 。之所以会有rw,是因为运行时功能,会修改内存,这时候因为Ro只读,不能修改,所以产生了rw, 用来去
原创
发布博客 2021.08.22 ·
154 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS开发底层之类加载(中) - 13

文章目录本章内容描述一、realizeClassWithoutSwift二、methodizeClass1. 扩展 read_images三、懒加载与非懒加载类的区别1.懒加载执行顺序2. 非懒加载的的执行顺序四. category 分类的介绍总结1. ro 、rw 、rwe的区别?本章内容描述本章的源码依旧是在 objc 源码中。类的实现 realizeClassWithoutSwift 重点方法运行的主线为: Read_images -》realizeClassWithoutSwift
原创
发布博客 2021.08.21 ·
198 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS开发底层之类加载上 - 12

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录准备资料一、编译过程?二、静态库与动态库区别1. 静态库2. 动态库三、dyld介绍1.dyld是什么?2. dyld有什么用?四、dyld的工作流程1.上帝视角之查看dyld做了什么?2.dyld-做了什么?。3dyld-源码解读(后期补上)。准备资料dyld源码下载本章内容: 应用程序的加载过程一、编译过程? 源文件(.h , .h , .cpp) -》 预编译 -》 编译 -》 汇编 -》 链接 - 》 可执行
原创
发布博客 2021.08.15 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

iOS-组件化开发之私有库制作与版本更新(持续更新)

一.私有库制作与使用准备条件github账号设置好SSH电脑有安装好Cocoapods环境1. 创建远程索引库在github上, new Repository 一个空的项目,项目如下: 下载项目2. 创建本地索引库注意: 名称最好和远程索引库保持一致打开终端, 进入cocoapods配置目录下:cd /Users/hh/.cocoapods/repos创建本地索引库,并与远程索引库关联格式:pod repo add 本地索引库名字 远程索引库的地址pod repo add Z
原创
发布博客 2021.08.13 ·
774 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Flutter升级到2.0后出现的问题

安全模式错误信息? Error: Cannot run with sound null safety, because the following dependencies don't support null safety: - package:http_parser - package:dio - package:shared_preferences表明上面的第三方插件不支持安全模式。解决方法如下:在Android Studio的 Termin.
原创
发布博客 2021.07.23 ·
634 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

iOS开发底层之消息的快速与慢速转发 - 11

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport
原创
发布博客 2021.07.08 ·
522 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

iOS开发底层之方法的慢速查找流程探索+方法动态决议上 - 10

文章目录一、二分查找算法1.仿苹果底层二分查找算法2. 通过案例玩下这个算法二、慢速查找流程图1.总结下慢速查找的主要过程2.读入数据总结一、二分查找算法上篇文章中提到过,苹果底层在查找方法的时候用到了二分查找算法, 觉得是用的代码最少,并且利用了位移,很有巧妙性,不得不佩服苹果的工程师还是牛逼PLUS。1.仿苹果底层二分查找算法// 二分查找 swift版本,for 循环体报错,这个地方还没有调试通过,仅供参考思路。 var array = [1,2,3,4,5,6,7,8,9,10] //
原创
发布博客 2021.07.07 ·
169 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

iOS开发底层之Runtime、Objc_msgSend探究下 - 09

文章目录上篇文章补充1.GetClassFromIsa_p16 宏解读二、CacheLookup探索二、使用步骤1.引入库2.读入数据总结上篇文章补充1.GetClassFromIsa_p16 宏解读上篇文章,没有解读此处, 源码如下。.macro GetClassFromIsa_p16 src, needs_auth, auth_address /* note: auth_address is not required if !needs_auth */#if SUPPORT_INDEX
原创
发布博客 2021.07.05 ·
159 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

iOS开发底层之Runtime、Objc_msgSend探究 - 08

文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport
原创
发布博客 2021.06.30 ·
255 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

iOS开发底层之类的底层Cache_t 探究 - 07

文章目录遗漏知识补充一. 面试题1、isKindOfClass 与isMemberOfClass 底层探索二.Cache_t 底层探索cache_t 底层结构cache_t LLDB调试cache_t 脱离源码调试技巧。cache_t 底层深入分析。遗漏遗漏知识补充 1. LLDB调试,发现 对象的 isa 和类的 isa 不一样, 而类的 isa 与元类的一样, 那是因为对象的 isa 中不仅包含了存储类, 还包含了 其他的值,如 引用计数, 是否正在释放,weak 等。 一. 面试题1
原创
发布博客 2021.06.27 ·
151 阅读 ·
0 点赞 ·
2 评论 ·
0 收藏

iOS开发底层之类的底层探究下-06

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录类底层探究一、解决上篇博客遗留的问题?1. 类方法藏在何处?二、成员变量(实例变量)与属性1.把文件编译成cpp类型,看c++源码。2.类型编码总结类底层探究一、解决上篇博客遗留的问题?1. 类方法藏在何处?二、成员变量(实例变量)与属性1.把文件编译成cpp类型,看c++源码。// 成员变量 vs 属性 VS 实例变量@interface LGPerson : NSObject{ // STRING
原创
发布博客 2021.06.27 ·
136 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

iOS开发底层之类的底层探究-05

文章目录一、探索类1.通过实操观察类的结构2. objc_class 探索 - 属性的本质3. objc_class 探索 - 方法的本质二. 遗留问题?一、探索类1.通过实操观察类的结构下面就一张经典的图,详细表明了实例对象、类、元类、根元类之间的联系。isa的走位图isa的元类继承链 苹果官方isa图,包含了所有isa走位情况:结论:isa的走位: 对象isa -> 类isa -> 元类isa -> 根元类isa ->根元类。根类isa走位: 根类isa
原创
发布博客 2021.06.26 ·
158 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏
加载更多