首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
低调的默认名
掘友等级
iOS酱油工程师
|
北京砖厂
国家一级iOS爱好者,Flutter小学生
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
35
文章 35
沸点 0
赞
35
返回
|
搜索文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - Runtime之砖厂面试答疑
答:是由C 和C++ 汇编 实现的⼀套API,为OC语⾔加⼊了⾯向对象,运⾏时的功能。平时编写的OC代码,在程序运⾏过程中,其实最终会转换成Runtime的C语⾔代 码,R...
4
2
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - Runtime之Method Swizzling黑魔法
Method Swizzling(方法交换),顾名思义,就是将两个方法的实现交换,即由原来的A-AImp、B-BImp对应关系变成了A-BImp、B-AImp。 每个类都维...
6
2
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 内存管理之weak原理探究
我们通过例子🌰来看一下__strong、__weak、__unsafe_unretained的区别在哪里. 先来看一下用__strong修饰的结果。可以发现修饰的对象在作...
22
4
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - OC对象前世今生
hasDefaultAWZ( )方法是用来判断当前class是否有默认的allocWithZone。 在对象的数据段data中,class_rw_t中有一个flags,RW...
5
2
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 初探类目、协议、扩展
分类只能增加方法,不能增加成员变量。 分类方法实现中可以访问原来类中声明的成员变量。 分类可以重新实现原来类中的方法,但是会***覆盖掉原来的方法***,会导致原来的方法没...
1
评论
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 类的前世今生(一)
通过clang命令编译main文件后得到cpp文件,可以发现,Class的底层结构是objc_class,里面有一个废弃的isa指针,所以不做研究. 属性方法等数据是存储在...
1
评论
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 类的前世今生(二)
cache_t的底层是一个哈希表存在,用于缓存调用过的方法,提高查找速度,不用每次从class_data_bits_t进行遍历查找。用哈希表存储时,存储的位置是不确定的,空...
2
1
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - Runtime之方法消息的前世今生(一)
对于一些调用频率太高的函数或操作,使用汇编来实现能够提高效率和性能,容易被机器来识别。...
2
评论
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - Runtime之方法消息的前世今生(二)
动态解析主要方法为_class_resolveMethod,源码如下,主要是对元类的判断。因为类方法是储存在元类之中的,处理方式略有不同 我们通过查看源码,发现在获取到IM...
5
评论
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 从编译到启动的奇幻旅程(一)
总体来说,一个APP从编写完代码到运行,就经历了两大步骤,即编译和运行,这一章节,主要来看一下APP的进行编译的。 iOS的代码,是通过编译器将代码直接编写成机器码,然后直...
30
2
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 从编译到启动的奇幻旅程(二)
首先安利一本书《程序员的自我修养--链接、装载与库》,看完神清气爽。 可执行文件(程序)是一个静态的概念,在运行之前它只是硬盘上的一个文件;而进程是一个动态的概念,它是程序...
6
评论
分享
低调的默认名
赞了这篇文章
低调的默认名
iOS酱油工程师 @北京砖厂
·
4年前
关注
iOS底层学习 - 从编译到启动的奇幻旅程(三)
根据字面意思我们可以得出,这个方法是读取影响运行时的环境变量,可以使用 export OBJC_HELP=1 来打印环境变量,从而进行一些调试,可以再Xcode中进行设置,...
3
4
分享
低调的默认名
关注了
恋猫de小郭
VIP.5 如鱼得水
iOS酱油工程师 @北京砖厂
低调的默认名
关注了
leejunhui
iOS酱油工程师 @北京砖厂
低调的默认名
赞了这篇文章
李斌同学
iOS安全工程师 @阿里巴巴
·
4年前
关注
iOS 底层 - 从头梳理 dyld 加载流程
了解 dyld 的加载流程可以帮我们更系统的了解 iOS 应用的本质 . 无论是在逆向方向或者在底层研究方面 , dyld 都是必不可少的领域 . 对流程梳理清楚可以帮助我...
81
3
分享
低调的默认名
关注了
一缕清风扬万里
iOS酱油工程师 @北京砖厂
低调的默认名
关注了
佐笾
iOS酱油工程师 @北京砖厂
低调的默认名
赞了这篇文章
Cooci
前端、iOS重度爱好者、专治跳槽加薪 @LG
·
4年前
关注
iOS 高级之美(六)—— malloc分析
然而 obj = (id)calloc(1, size) 这一段代码所在位置不再是 libObjc4,它定位到了 libmalloc , 至于愈合定位的大家可以参考笔者前面...
57
4
分享
低调的默认名
赞了这篇文章
njuxjy
4年前
关注
iOS项目技术还债之路《二》IAP掉单优化
上篇中我们聊了聊iOS后台下载优化,通过一个成本较低的方案达到了业务预期的效果。这篇文章继续聊一聊今年初完成的另一个优化点:IAP掉单优化。 众所周知,由于IAP相关的坑比...
155
17
分享
低调的默认名
赞了这篇文章
Coder_Hedy
iOS高级开发工程师 @吉利控股集团有限公司
·
4年前
关注
浅谈 iOS 组件化开发
组件化作为目前移动应用架构的主流方式之一,近年来一直是业界积极探索和实践的方向。 起初的这个项目,App只有一条产品线,代码逻辑相对比较清晰,后期随着公司业务的迅速发展,现...
60
15
分享
下一页
个人成就
文章被点赞
248
文章被阅读
74,714
掘力值
1,973
关注了
29
关注者
1,280
收藏集
1
关注标签
20
加入于
2018-07-18