首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
来自总部的人
掘友等级
iOS
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
1
文章 1
沸点 0
赞
1
返回
|
搜索文章
最新
热门
12.应用程序加载
一、dyld的引出 1.首先在main函数打断点,可以看到在main之前libdyld.dylib`start 2.在load函数打断点,通过堆栈信息可以看到dyld做了大量的工作 3.dyld可以从
11.消息转发
一、消息转发流程 1.查看方法未实现的时候调用的log 在路径 /tmp/ 下可以看到msgSends-XXX的文本 如果msgSends-XXX文件没有内容的话,注释掉logMessageSend函
10.消息动态决议
一、方法找不到的底层报错原理 1.在lookUpImpOrForward中第一行代码中默认的指针_objc_msgForward_impcache 2.全局搜索_objc_msgForward_imp
9.消息慢速查找
一、汇编缓存找不到 CacheHit找不到会执行MissLabelDynamic CacheLookup NORMAL, _objc_msgSend, __objc_msgSend_uncached
8.objc_msgSend下
一、问题回顾 当调用一次函数之后_maybeMask,按道理来说不应该是3吗?为什么_maybeMask=7? 方式1:当插入函数的时候cache会调用insert函数,所以在insert函数中打印
7.objc_msgSend
一、objc_msgSend流程 1.查看方法的本质,生成cpp文件,命令 xcrun -sdk iphonesimulator clang -arch arm64 -rewrite-objc mai
6.类的cache_t分析
一、cache的数据结构 cache_t的源码 通过猜测加分析可知cache_t主要通过操作bucket_t来实现缓存 bucket_t的源码 果然,一切都是bucket_t 二、cache底层LLD
5.类的原理分析(下)
一、类的内存的ro数据 LGPerson类的定义 打印ro的过程(.ro()函数如果不知道的话,可以去底层源码看下,在class_rw_t结构体中) 可以看到ivars中存储所有的成员变量,在底层中属
4.类的原理分析
一、isa走位图和继承链 先来个经典的图,不熟悉的可以先看下 1.用代码去证明 通过地址可以看到NSObject的isa的指向是和上图中的一样的,并且isa也是有继承关系的 2.通过控制台打印 解释下
3.isa指针
一、对象的本质 1.OC类怎么编译成c++文件 clang -rewrite-objc main.m -o main.cpp 把目标文件编译成c++文件 UIKit报错问题 clang -rewrit
下一页
个人成就
文章被点赞
13
文章被阅读
4,438
掘力值
254
关注了
30
关注者
4
收藏集
3
关注标签
6
加入于
2021-01-28