首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Objective-C底层原理游记
RUNNING_NIUER
创建于2021-05-18
订阅专栏
深入探索研究OC的底层奥秘
等 37 人订阅
共26篇文章
创建于2021-05-18
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
探寻Block的本质(6)—— __block的深入分析
__block的使用场景 大家应该都知道,如果想在block内部修改从外部捕获的auto变量的值,可以在该auto变量定义的时候,加上关键字__block。代码案例如下 __block只可以用来作用于
探寻Block的本质(5)—— 对象类型的变量捕获
首先我们来看这么一段代码案例 通过在打印标记flag1处断点调试可看出,在临时作用域里面的person对象只要出了作用域就会被释放,这一点是很好理解的。 上面的代码加入block,调整如下 再次在打印
探寻Block的本质(4)—— Block的类型
前面的章节里面,我们了解到Block也是一个OC对象,因为它的底层结构中也有isa指针。例如下面这个block: 上面的代码中,我们通过 [xxx class] 和 [xxx supperclass]
探寻Block的本质(3)—— 基础类型的变量捕获
上一篇里面,我们分析了一下 胚胎版的Block 的底层结构。现在我们加点料进去 这里我们给block所封装的函数增加两个参数a、b,还是惯例,通过命令 xcrun -sdk iphoneos clan
探寻Block的本质(2)—— 底层结构
上一篇,我们初步认识了Block的一些基本知识。现在,我们来一起挖掘一下Block的底层结构。 首先还是新建一个命令行项目 定义一个最最简单的block 紧接着,通过xcrun -sdk iphone
探寻Block的本质(1)—— 基本认识
block是什么 通俗的理解:block就是将一些代码封装起来,以便在将来某个时候被使用,如果你不去调用block,block内部封装的代码就不会执行。举一个简单的例子,下面在main函数中定义一个最
iOS性能优化
(一)卡顿优化 【了解CPU和GPU】 在屏幕成像过程中,CPU和GPU的作用是至关重要的。 CPU - Central Processing Unit,中央处理器,在iOS程序中,负责对象的创建和销
内存管理剖析(五)—— weak指针实现原理
iOS引用计数的存储 我在isa的深入体会一文中介绍过,苹果从arm64架构开始,对isa进行了优化,通过位域计数将更多信息存储在了isa指针当中,充分利用了isa的内存空间。目前isa的结构如下 其
内存管理剖析(四)——autorelease原理分析
经历过MRC时代的开发者,肯定都用过autorelease方法,用于把对象交给AutoreleasePool管理,在合适的时候,自动释放对象。其实所谓的自动释放对象,就是对所管理的对象调用releas
内存管理剖析(三)——iOS程序的内存布局
iOS程序安装之后,是以Mach-o文件的格式保存在iOS设备里面,当启动程序时,对应的Mach-o文件就会被加载进内存。下面,就来介绍一下iOS程序的内存布局。首先看下图 如果你拥有iOS逆向的知识
内存管理剖析(二)——定时器问题
CADisplayLink、NSTimer的循环引用问题 CADisplayLink 是QuartzCore框架下的的一种定时器,用在跟画图相关的处理当中。NSTimer 大家应该很熟悉,是我们最常用
内存管理剖析(一)—MRC时代的手动内存管理
MRC时代的手动内存管理 iOS中是通过 【引用计数】 来管理OC对象的内存的。 一个新创建的OC对象引用计数默认是1,当引用计数减为0,OC对象就会销毁,其占用的内存空间会被系统释放。 调用reta
Runtime原理探究(六)—— Runtime综合面试题
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runtime原理探究(五)—— super的本质
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runtime原理探究(四)—— 刨根问底消息机制
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runtime原理探究(三)—— OC Class的方法缓存cache_t
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runtime原理探究(二)—— Class结构的深入分析
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化)
Runtime系列文章 Runtime原理探究(一)—— isa的深入体会(苹果对isa的优化) Runtime原理探究(二)—— Class结构的深入分析 Runtime原理探究(三)—— OC C
Runloop的内部结构与运行原理
什么是Runloop Runloop顾名思义,就是运行循环。首先它根程序运行过程有关系,其次它是一种转圈圈的效果。但如果这么解释,恐怕谁都听不懂。 想要弄明白Runloop,就要搞清楚跟它有关联的一些
如何保证iOS的多线程安全
什么会给多线程的安全造成隐患? 有了多线程技术支持,我们可以并发的进行多个任务,因此同一块资源就有可能在多个线程中同时被访问(读/写)。这个现象叫作资源共享,比如多个线程同时访问了同一个对象,同一个变
下一页