首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Runtime、Runloop
订阅
BUG攻城狮
更多收藏集
微信扫码分享
微信
新浪微博
QQ
57篇文章 · 0订阅
Runtime经典面试题(附答案)
如果方法返回值为结构体,发送给nil的消息将返回0。结构体中各个字段的值将都是0; 如果方法的返回值不是上述提到的几种情况,那么发送给nil的消息的返回值将是未定义的。 图中实线是 super_class指针,虚线是isa指针。 Root class (class)其实就是NS…
当面试官问Runloop时,想听到的答案是什么?
Runloop这个算是iOS开发者面试中最常见的问题之一了把,但是每次面试遇到这种问题都会菊花一紧,生怕回答的少了,同时也怕回答的不够全面。所以针对这一问题,总结了下几个级别的开发者需要知道点进行归纳
iOS开发中runtime常用使用示例
Runtime即运行时,OC是一个拓展了C加入了面向对象和Smalltalk式消息传递的动态语言,实现这一点的核心便是Runtime库,这篇文章不去深入分析原理,仅简单粗暴的列出runtime在实际开
一道高级iOS面试题(runtime方向)
说到iOS,要么公司规模比较小,<=3人,不需要面试。 其他的,大概率要让你刀枪棍棒十八般武艺都拿出来耍耍。 而其中,但凡敌军阵营中有iOSer的,又极大概率会考到 Runtime 的知识点。 问输出结果是啥,会不会崩溃。
iOS进阶之路 (七)消息转发
上篇文章我们介绍到,OC方法底层通过objc_msgSend进行消息发送。 1. 动态方法决议 在父类AKPerson定义一个实例方法和一个类方法,都不实现。然后用子类AKStudent调用这两个方法。cmd + b 运行,程序崩溃'unrecognized selector …
iOS开发·KVO用法,原理与底层实现: runtime模拟实现KVO监听机制(Blcok及Delgate方式)
1. KVO理论基础 KVO 是 Objective-C 对 观察者模式(Observer Pattern)的实现。当被观察对象的某个属性发生更改时,观察者对象会获得通知。有意思的是,你不需要给被观察的对象添加任何额外代码,就能使用 KVO 。这是怎么做到的? KVO 的实现也…
iOS进阶之路 (十)runtime 相关面试题
一. 什么是runtime runtime 是由C 和C++ 汇编 实现的一套API,为OC语言加入了面向对象,运行时的功能。 runtime是指将数据类型的确定由编译时推迟到了运行时。例如 extension - category 的区别: extension可以添加实例变量…
iOS底层原理总结 - 探寻Runtime本质(三)
本文我们探寻方法调用的本质,首先通过一段代码,将方法调用代码转为c++代码查看方法调用的本质是什么样的。 通过上述源码可以看出c++底层代码中方法调用其实都是转化为 objc_msgSend函数,OC的方法调用也叫消息机制,表示给方法调用者发送消息。 拿上述代码举例,上述代码中…
RunLoop总结:RunLoop的应用场景(五)阻止App崩溃一次
今天要介绍的RunLoop应用场景感觉很酷炫,我们可能不常用到,但是对于做Crash 收集的 SDK可能会用得比较频繁吧。相比关于RunLoop 可以让应用起死回生,大家都听说过,可是怎么实现呢?今天我就来实际试验一下。 漫谈iOS Crash收集框架(简单介绍了下iOS 中C…
从汇编角度分析objc_msgSend的hook过程
objc_msgSend 是基于汇编实现的,hook objc_msgSend 和我们平时 hook OC 方法不一样,在 github 上有开源的项目通过 hook objc_msgSend 来监控每个函数的耗时情况。这篇文章对其 hook 逻辑的主要代码进行分析记录。阅读前…