首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
用户5732612593686
掘友等级
大公司
获得徽章 3
动态
文章
专栏
沸点
收藏集
关注
作品
赞
49
文章 49
沸点 0
赞
49
返回
|
搜索文章
赞
文章( 49 )
沸点( 0 )
iOS之LLDB常用命令
1.打印相关的命令有:p、po。 p 和 po 的区别在于使用 po 只会输出对应的值,而 p 则会返回值的类型以及命令结果的引用名。 thread return:跳出当前方法的执行,主要用于控制程序流程。thread return后有一个可选参数,在执行过程中会把该参数加载到…
OC底层原理之-OC对象(中)内存对齐
从上图中可以看到0x600003440ea0为对象指针的首地址,每一行开头部分都是从这个内存地址开始排列的。而0x000000010e2f28d8是对象指针地址,打印也看出来了。我们后面打印地址存储的Cooci,KC都出来了,但是我们复制的18,a,b都去哪了 打印结果我们发现…
OC底层原理之-OC对象(下)isa指针结构分析
打开cpp文件后,东西太多了,7万多行代码。直接搜ViewController找到如下图所示的内容 上图中的方法红框中出现isa,我们运行下项目实际看下。 之所以isa指针这么设计是为了优化性能,节省空间。指针有8字节,64bit,但是单纯的地址指针用不完那么多空间,如果空着就…
OC底层原理系列
持续更新中其它系列OC基础知识系列Swift底层探索系列iOS高级进阶系列OC-加载篇OC底层原理之-App启动过程(dyld加载流程)OC底层原理之-类的加载过程-上(objc_init实现原理)O
OC底层原理之-objc_msgSend方法查找(下)
上面文章我们说了在cache_t找不到方法就会进行动态方法决议,会再给一次机会调用:resolveInstanceMethod:方法,如果实现这个方法就能避免闪退。具体看上篇文章OC底层原理之-objc_msgSend方法查找(中)。如果resolveInstanceMetho…
OC底层原理之-objc_msgSend方法查找(中)
我们上篇文章讲述的是objc_msgSend在缓存中的查找(传送门),在文章最后,我们知道当消息在cache_t中找不到时,会调用_objc_msgSend_uncached方法,这个时候就会进入慢速查找。这边我们就探究下_objc_msgSend_uncached方法究竟做了…
OC底层原理之-objc_msgSend方法查找(上)
之前的文章我们已经对方法存储类的cache_t做了分析(cache_t分析传送门)。我们上篇文章提到有个问题,就是如果cache_t中已经存在该方法,再次调用该方法的时候,不会走cache_t的写入方法。今天我们就来探究下原因。 查看方法调用最直观的方式就是用clang。下面我…
OC底层原理之-类结构的cache_t分析
我们之前介绍过类的结构(类的结构传送门),重点介绍了class_data_bits_t的内部结构。这张我们着重介绍下类结构里的另一个重要的属性cache_t。 运行打断点,我们知道在获取class_data_bits_t时用了内存平移,这次获取cache_t也应该类似,我们试一…
iOS的两道经典面试题(一)
这篇文章我们看两道典型的题目来分析下对象,类的一致问题以及对象方法,类方法的归属问题。 对class_copyMethodList进行分析,在源码找到方法实现,发现红框方法。很眼熟,这个方法就是获取方法列表。 由于我们传入的是Person类,故它返回Preson的对象方法,通过…
OC底层原理之-类的结构
之前写的文章对OC的对象有了比较深的理解。OC对象理解传送门。其中我在最后一片文章OC底层原理之-OC对象(下)isa指针结构分析的结尾处通过指针打印验证了类对象isa指针指向类,类的isa指针指向元类,元类的isa指针指向根元类,根元类ias指针指向自己。下面在温习一下 我们…
下一页
关注了
42
关注者
1
收藏集
0
关注标签
7
加入于
2020-12-23