首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
eason_dev
掘友等级
全栈开发
获得徽章 5
动态
文章
专栏
沸点
收藏集
关注
作品
赞
279
文章 276
沸点 3
赞
279
返回
|
搜索文章
最新
热门
iOS 底层探索 - 消息转发
我们在上一章《消息查找》分析到了动态方法解析,为了更好的掌握具体的流程,我们接下来直接进行源码追踪。 由这个流程图我们可以知道,元类最终继承于根元类,而根元类又继承于 NSObject,那么也就是说在根元类中存储的类方法等价于在 NSObject 中存储的对象方法。而系统在执行…
iOS 底层探索 - 消息查找
因为 C 无法通过写一个函数来保留未知的参数并且跳转到一个任意的函数指针。 objc_msgSend 必须足够快。 我们在探索 objc_msgSend 的时候,当找不到缓存的时候,会来到一个地方叫做 objc_msgSend_uncached,然后会来到 MethodTabl…
iOS 底层探索 - 方法
我们在前面探索了对象和类的底层原理,接下来我们要探索一下方法的本质,而在探索之前,我们先简单过一遍 Runtime 的知识点,如果读者对这块内容已经很熟悉了的话可以直接跳过第一章。 众所周知,Objective-C 是一门动态语言,而承载整个 OC 动态特性的就是 Runtim…
iOS 底层探索 - cache_t
上一篇我们一起探索了 iOS 类的底层原理,其中比较重要的四个属性我们都简单的过了一遍,我们接下来要重点探索第三个属性 cache_t,对于这个属性,我们可以学习到苹果对于缓存的设计与理解,同时也会接触到消息发送相关的知识。 从源码定义中不难看出,bucket_t 其实缓存的是…
iOS 底层探索 - 类
那么对象又是从哪来的呢?有过面向对象编程基础的同学肯定都知道是类派生出对象的,那么今天我们就一起来探索一下类的底层原理吧。 我们在日常开发中大多数情况都是从 NSObject 这个基类来派生出我们需要的类。那么在 OC 底层,我们的类 Class 到底被编译成什么样子了呢? 我…
iOS 底层探索 - calloc 和 isa
上一篇文章主要我们探索了 iOS 对象的 alloc 和 init 以及对象是怎么开辟内存以及初始化的,如果在对象身上增加一些属性,是否会影响内存开辟呢?还有一个遗留问题就是通过 calloc ,我们的对象有了内存地址,但是对象结构里面的 isa 是怎么关联到我们的对象的内存地…
iOS 底层探索 - alloc & init
作为 iOS 开发者,我们每天打交道最多的应该就是对象了,从面向对象设计的角度来说,对象的创建以及初始化是最基础的内容。那么,今天我们就一起来探索一下 iOS 中最常用的 alloc 和 init 的底层是怎么实现的吧。 对于第三方开源框架来说,我们去剖析内部原理和细节是有一定…
个人成就
文章被点赞
282
文章被阅读
51,536
掘力值
1,507
关注了
31
关注者
1,834
收藏集
5
关注标签
18
加入于
2016-07-26