首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
我是小菜
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
iOS底层原理之消息转发机制探究
目前猜测:虽然没有声明类方法的forwardingTargetForSelector,但在NSObject的.m文件中有该方法的实现,由于类对象存储在元类当中,最终会从NSObject中找到forwardingTargetForSelector的类方法,且由于LGPerson重…
iOS底层原理之方法慢速查找探究
我们在iOS底层原理之_objc_msgSend方法查找中知道,_objc_msgSend主要是通过汇编快速找到方法的,这次我们研究方法慢速查找。 从源码我们可以分析得出,方法列表一定是有序的,因为使用了二分查找,为什么是二分查找呢?重点是count >> 1,比如0000 1…
iOS底层原理之_objc_msgSend方法查找
我们在 iOS底层原理之cache_t分析中了解到,当一个方法被调用后,cache_t中就会存储该方法,下次调用就不会再次存储。那么cache_t是如何查找到已缓存的方法呢?本文我们探究这个问题。 从上述结果中我们发现[person canEatFood]等价于objc_msg…
iOS底层原理之cache_t分析
我们在iOS底层原理之isa走位与类结构分析 中分析了objc_class结构体中的bits属性,今天我们分析cache_t属性。 从上述源码中我们可以看出,cache_t中存储了函数方法的集合以及声明的变量等。 当调用三个实例方法后情况此时_mask = 7,_occupie…
iOS底层原理之isa与类相关部分面试题分析
method1是在当前类(即LGTeacher)中查找 sayHello,sayHello是实例方法,所以找到了。 method2是在LGTeacher的元类中查找sayHello,由于sayHello是实例方法,所以在元类中没有找到。 method1是在当前类LGTeache…
iOS底层原理之isa走位与类结构分析
从上面的isa走位分析中我们都知道无论对象,还是类,亦或者元类都有isa指针,这是为什么呢?其实这里就涉及到 _objc_class与 _objc_object两个结构体类型了。 我们在OC源码中,搜索_objc_object,我们看下图所示我们可以看到 objc_object…
iOS底层原理之联合体与isa结构探索
联合体(又叫共用体)联合体怎么来的我们知道一个对象至少占用16个字节的内存,如果对象中有属性的时候可能占用的内存会更多。当属性是互斥的时候,如果每个属性都单独计算内存的话无疑会浪费空间,比如一辆车只能
iOS底层原理之内存对齐探索
在iOS开发中,我们对于对象的内存空间大小并不是很了解,一个对象开辟多少的存储空间并不清楚,本文我们探索下内存空间大小是怎么分配的。准备工作iOS中各种数据类型所占的内存大小计算内存大小的方法size
iOS底层之alloc探索
前序alloc使我们iOS开发者最常用的初始化对象的方法了,那么我们是否对alloc底层做了什么有了解呢?本文我们就来探索下alloc的底层实现。alloc探究代码探究打印结果:从上面我们发现,per
Metal-图片加载
本文我们研究使用metal来加载图片,加载的图片我们区分tga格式的以及png和jpg格式的图片。加载tga跟png或者jpg格式的图片唯一区别在于图片解析部分,其余的完全相同。流程步骤1、SSSha
下一页
个人成就
文章被点赞
46
文章被阅读
42,595
掘力值
1,264
关注了
15
关注者
43
收藏集
0
关注标签
8
加入于
2020-01-17