首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Kaemi
掘友等级
iOS
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
iOS-Runtime之方法查找
一套以c、c++以及汇编写成的,可以为Object-C提供运行时功能的api。源码参考 Runtime其实有两个版本: “modern” 和 “legacy”。我们现在用的 Objective-C 2.0 采用的是现行 (Modern) 版的 Runtime 系统,只能运行在 …
iOS-类(NSObject)的方法缓存
在上一篇文章中大概的分析了类的结构、以及类的属性与方法的存储,接下来我们分析类结构中的方法缓存:cache。 类的方法缓存,增加方法查找效率。 _mask:数组大小 - 1,用作掩码。 _occupied:当前已缓存的方法数。 _key:cache_key_t 就是 unsig…
iOS-类(NSObject)的结构
NSObject为所有类的根类,它位于整个类层次的根上,类层次中的所有其它类最终都是从根类继承而来。(万物皆NSObject) 其实他们是同一个事物的不同表现形式。objc_object为c结构体写法,而NSObject为OC写法。 所以我们要找的东西就在这个class_rw_…
iOS-isa属性
通过我的前一篇文章。我们可以得出,isa是对象alloc的时候,伴随初始化的一个属性。 其内部是一个联合体,其中包含一些类的信息。 得出结论:isa是一个isa_t结构的联合体,其中包含cls类指针,或者一个ISA_BITFIELD位域。 指信息在存储时,并不需要占用一个完整的…
iOS-内存对齐
1、数据成员对其规则:结构体(struct)或联合体(union)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如数组、结构体等)的整数倍开始。 2、结构体作为成员:如果一个结构体内…
iOS-alloc、init与new初探
一个类对象最少占16个字节,是为了让编译器容易读取地址(空间换时间),且防止野指针。 init方法直接返回的alloc对象self本身,这也是文章开始P1、P2、P3指向同一块内存地址的原因。同时也是为了方便开发人员能够在工厂设计开发的时候去扩展、自由定义。 2、alloc分配…
个人成就
文章被点赞
31
文章被阅读
10,411
掘力值
254
关注了
29
关注者
18
收藏集
2
关注标签
27
加入于
2019-03-07