首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
OC底层探索
IT认证助力者
创建于2021-06-06
订阅专栏
底层探索
等 2 人订阅
共23篇文章
创建于2021-06-06
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
OC底层原理28-Block下
前言 libclosure-79 一.block通过clang分析 1.未捕获外部变量 通过 xcrun -sdk iphonesimulator clang -arch arm64 -rewrite
OC底层原理28-Block上
前言 一.读写锁的补充 1.多读单写 二.block的分类 GlobalBlock 位于全局区 在Block内部不使用外部变量,或者只使用静态变量和全局变量 2. MallocBlock 位于堆区 在
OC底层原理27-锁下
“这是我参与8月更文挑战的第10天,活动详情查看:8月更文挑战” 一.锁的分类讲解 1.⾃旋锁: 自旋锁:你走 我等你回来 = 互斥(闲等) + 忙等 线程反复检查锁变量是否可⽤。由于线程在这⼀过程中
OC底层原理26-锁上
“这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战” 一.锁性能分析 图中锁的性能排序 OSSpinLock(自旋锁) -> dispatch_semaphone(信号量) -> os_un
OC底层原理21-KVO自定义
“这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战” 一.KVO自定义的思路 isa指向动态子类 子类 很多方法 dealloc - class - setName - LGPerson-消
OC底层原理20-KVO分析
“这是我参与8月更文挑战的第7天,活动详情查看:8月更文挑战” 一.前言 KVO的一些细节 探索KVO原理 自定义KVO KVO官方文档链接 一.KVO细节分析上 1.关于context的细节 官方说
OC底层原理25-GCD分析下
一.栅栏函数的应用 1.并发栅栏函数异步 运行打印结果 2.并发栅栏函数同步 运行打印结果 3.全局队列栅栏函数异步 运行打印结果 并发无序 不可使用全局队列 4.全局队列栅栏函数同步 运行打印结果
OC底层原理24-GCD分析中
一.课程答疑 上面的代码打印顺序是选择A 因为串行队列相当于把异步变成同步按顺序执行 dqf_width = 1保证FIFO 异步函数串行队列:开启一条新线程 任务一个接着一个 如果把串行改为并行的话
OC底层原理19-KVC
前言 KVC又称键值编码 (Key-Value-Coding),在iOS开发中是一个比较常见的技术点,相信很多开发人员都使用过KVC,其主要的两个方法就是如下两个,分别对应设置值和取值: (void)
OC底层原理23-GCD分析上
前言 一.主队列分析 队列分为 串行队列 和 并行队列 串行队列:dispatch_queue_t serial = dispatch_queue_create("test", DISPATCH_QU
OC底层原理22-多线程
一.线程和进程 线程是进程的基本执⾏单元,⼀个进程的所有任务都在线程中执⾏ 进程想要执行任务,必须得有线程,进程至少要有一条线程 程序启动默认开启一条线程,这条线程被称为主线程或UI线程 进程是指在系
OC底层原理14-类的加载原理上
前言 dyld->images->内存->LGPerson(方法-协议) images(macho)->地址->表->类->初始化(rw-ro) 一.objc_init分析 1.environ_ini
OC底层原理11-消息转发
前言 IOS底层原理之动态方法决议中探究了动态方法决议。在动态决议之后,通过日志辅助功能认识到forwardingTargetForSelector和methodSignatureForSelecto
OC底层原理13-应用程序的加载下
前言 上一篇长我们_dyld_objc_notify_register这个方法我们没有细节分析 这节我们我们主要分析一下这个流程 1.dyld链接objc的函数执 我们在objc4-818.2代码里面
OC底层原理10-消息动态决议
前言 上一篇我们打印了 unrecognized经典的崩溃信息,通过全局搜索doesNotRecognizeSelector或者unrecognized selector sent to instan
OC底层原理12-应用程序的加载上
前言 代码如何加载到内存的 我们探究一下 代码准备 Libsystem-1292.120.1 libdispatch-1271.120.2 dyld-852 objc4-818.2 1.应用程序的加载
OC底层原理09-消息慢速查找
前言 objc_msgSend_uncached 在当前类中,缓存查找流程中如果没有到查找目标方法,跳转 MissLabelDynamic 流程 MissLabelDynamic = __objc_m
OC底层原理07- objc_msgSend上
前言 Cache readers (PC-checked by collecting_in_critical()) objc_msgSend cache_getImp Cache readers/wr
OC底层原理06- cache分析
前言 一.NSObject面试题 这个结果是对的 但是分析的真的对吗 好多博客都是这么写的 但是真的是这么执行的吗 我们全局断点 看一下汇编 isMemberOfClass是有找到 isKindOfC
OC底层原理05- 类的原理分析下
前言 一.如何找到成员变量 二.成员变量和属性 1.进入终端 执行 xcrun -sdk iphonesimulator clang -arch arm64 -rewrite-objc LGPerso
下一页