首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Runtime
订阅
后知后觉老着急了
更多收藏集
微信扫码分享
微信
新浪微博
QQ
11篇文章 · 0订阅
阿里、字节:一套高效的iOS面试题(一 - runtime 结构模型 - 上)
iOS runtime 源码部分详解:Runrimw 结构、NSObject创建过程、应用启动流程、消息发送等
开源 | Objective-C & Swift 最轻量级 Hook 方案
Github 项目地址:https://github.com/larksuite/SDMagicHook。 某年某月的某一天,产品小 S 向开发君小 Q 提出了一个简约而不简单的需求:扩大一下某个 button 的点击区域。小 Q 听完暗自窃喜:还好,这是一个我自定义的 but…
手撕iOS底层16 -- 消息解析&消息转发原理
搜索__objc_forward_handler,根据之前总结的规则, 去掉一个下划线来搜索。 实际的本质都是调用objc_defaultForwardHandler,这就是我们日常中经常见到的崩溃错误。 通过注释也可以得知, 这个实在IMP没有找到的时候,会走这里解决,并且只…
iOS 从源码解析Runtime (十一):聚焦 objc_class(class_data_bits_t 内容篇)
class_data_bits_t data 作为 objc_class 的第四个成员变量也是最后一个成员变量,它的作用正如它的名字 data,而它也正是存储管理了类相关的所有数据,例如我们上篇一直讲的当缓存未命中时就会去类的方法列表中继续查找,而这个方法列表正保存在 data…
深入浅出 Runtime(一):初识
Objective-C 是一门动态运行时语言,允许很多操作推迟到程序运行时再进行。OC的动态性就是由 Runtime 来支撑和实现的,Rumtime 就是它的核心; 我们平时编写的OC代码,底层都是转换成了 Runtime API 进行调用。 运行时:代码跑起来,被装载到内存中…
iOS底层 -- 类的本质分析
上文说到,对象通过isa和类关联,同个类型的对象可以多次创建,所以对象可以有多个。那么类呢,根据开发经验,很容易得出类在内存中只有一个,那究竟要怎么实锤呢。提供验证方式: 可以看到,在DATA段的_objc_classrefs内已经加载了CJPerson类,并指定了内存地址,说…
Objective-C按需弃用消息的动态派发
0. 引言 本文简单介绍了Objective-C的消息动态派发,以及某些情况下为什么我们需要弃用这个特性,从而带来一些正向的收益。 1. 消息的动态派发 通过对象的 isa 指针找到类结构体,在该类结构中查找分派表中的方法选择器。 如果找不到选择器, objc_msgSend …
玩转iOS开发:iOS开发中的装逼技术 - RunTime(二)
在前一章里, 我们把RunTime的一些基础概念和一些小东西给弄明白了, 正式踏入装逼队伍行列. 如果没有加入到装逼队伍行列里的小伙伴, 可以去看看玩转iOS开发:iOS开发中的装逼技术 - RunTime(一). 在前面一篇文章里, 我们用Clang把RunTimeModel…
iOS概念攻坚之路(二):Runtime
这年头,不能扯点 Runtime 哪敢去面试啊。。 Runtime 直接翻译就是 运行时。但是有人说它叫运行时,有人说它是运行时库,有人说它就是一个对象,exm?又是对象?当初我看 RunLoop 的时候你也是这么说的。但你说的是对的,毕竟万物皆对象嘛,好,你回去等通知吧。 这…
iOS 模式详解—「runtime&runloop 面试、工作」看我就 🐒 了 ^_^.
Objective-C 是基于 C 的,它为 C 添加了面向对象的特性。它将很多静态语言在编译和链接时期做的事放到了 runtime 运行时来处理,可以说 runtime 是我们 Objective-C 幕后工作者。 1.runtime(简称运行时),是一套 纯C(C和汇编)写…