首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Charles_FF
掘友等级
研发工程师
互联网技术深度爱好者
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
22
文章 8
沸点 14
赞
22
返回
|
搜索文章
最新
热门
dyld和objc关联探索
先来了解下objc_init源码environ_init(): 读取影响运⾏时的环境变量。如果需要,还可以打印环境变量帮助。tls_init(): 关于线程key的绑定-⽐如每线程数据的析构函数sta
objc消息转发机制探索
回顾一下二分查找sel在method_排序是递增排列的,eg:01,02,03,04,05,06,07,08。动态方法决议代码举例:创建一个分类重写resolveInstanceMethod方法log
objc之方法慢速查找流程分析
lookUpImpOrForward底层源码分析我们知道objc快速查找流程是通过汇编从缓存里面查找,realizeClassMaybeSwiftAndLeaveLocked下层cls->super
objc_msgSend 流程探索
首先来温习一下Runtime运行时运行时:顾名思义就是代码跑起来,被装载到内存中去了。Runtime有两个版本:Legacy版本(早期版本),对应的变成接口:Object-C1.0Modern版本(现
cache_t底层探索
我们知道cache是用来做缓存,常用的操作增删改查。首先来看下cache_et底层源码分析ps:第一行代码做explicit_atomic(显示原子性),其作用就是为了安全 bucket_t下层cac
类方法、成员变量属性探索
属性、成员变量/实例变量简介来看下代码实例编译后底层代码结构同时,属性编译会生成相应的objc_setProperty方法和当前的get方法总结:{}里面的内容称为实例变量,实例变量即是特殊的成员变量
类的结构探索
准备工作首先我们创建一个继承于NSObject的CFPerson类,在mian函数初始化,再加一个断点接下来看看打印信息当前类信息p/x0x0000000100002150拿到元类元类&0x00000
isa结构分析
首先来看下objcisa主要源码通过源码我们发现isa是一个联合体union,cls与bits是互斥关系。在看下ISA_BITFIELD宏定义 我们来将其简单分享分析一下位1(nonpointer):
内存对齐原理探究
首先我们来了解下内存对齐的基本原则数据成员对⻬规则:结构(struct)(或联合(union))的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据成员存储的起始位置要从该成员⼤⼩或者成
alloc底层探索
main函数研究首先在main函数第一行打一个断点在设置一个符号断点在创建对象出增一个断点此刻我们看一下在控制台打印bt堆栈可以看到关于block区域、runLoop、和来自一些底层的赋值(kvc/k
下一页
个人成就
文章被点赞
16
文章被阅读
15,137
掘力值
599
关注了
19
关注者
10
收藏集
1
关注标签
22
加入于
2018-04-03