首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
面试
订阅
helloworld君46051
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 0订阅
玩转iOS开发:装逼技术RunTime的总结篇
讲到这里, RunTime的知识点和应用基本上就已经讲完了, 剩下的就靠大家自己在项目中的应用以及累积了. 我们可以从这些东西里获取到指定类的所有信息, 无论是公开的, 还是私有的, 全部都可以拿到, 并且操作. PS: 但操作私有方法的时候, 注意不要用来上架, 除非你有方法…
Runtime学习:面试题狙击
前面两篇文章分别记录了自己学习 Runtime 的一些知识点以及常见的一些应用。之前立下 flag 说准备写三篇关于 Runtime 的文章,于是就有了这篇文章。 本文准备利用前面学习的内容来解答两道在sunnyxx的神经病院objc runtime入院考试的面试题。 对于上面…
从源码理解Category、load和initialize
Objective-C中的Category就是对装饰模式的一种具体实现。它的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。 从源码中可以知道,分类转化成了_category_t类型的结构体,并且有几个分类,就会对应生成几个这样的结构体。这里有一点要说明一下,在o…
为什么Objective-C的消息转发要设计三个阶段?
下面我们就通过详细解读每个阶段来回答开篇提出的问题。 有些情况下,你希望能够为一个方法动态地提供实现。例如,Objective-C中可以将一个属性声明为@dynamic 这样你就告诉编译器,与这个属性相关联的setter和getter方法会被动态添加。编译器就不会自动为你创建s…
解读 iOS 组件化与路由的本质
虽然 iOS 组件化与路由的话题在业界谈了很久,但是貌似很多人都对其有所误解,甚至没搞明白“组件”、“模块”、“路由”、“解耦”的含义。 相关的博文也蛮多,其实除了那几个名家写的,具有参考价值的很少,况且名家的观点也并非都完全正确。架构往往需要权衡业务场景、学习成本、开发效率等…
RunTime学习:实际应用
上一篇文章中介绍了 Runtime 的一些基本知识,以及方法传递的具体流程。这篇文章本想主要介绍 Runtime 的另一个核心概念——类的动态配置。但是,发现在写动态配置时,有许多实际应用的东西,索性直接写一篇实际应用吧。 一说到关联对象就联想到一个经典的面试题:“是否能通过 …
从源码理解关联属性
在类中,我们使用@property (nonatomic, copy) NSString *name生成一个属性。它干了三件事情: 但是在分类中写上述这样一个属性的,它只有setter和getter方法的声明,并不会生成成员变量和实现setter和getter方法,因此如果想要…
KVC实现原理
KVC全称是Key Value Coding,定义在NSKeyValueCoding.h文件中。KVC提供了一种间接访问其属性方法或成员变量的机制,可以通过字符串来访问对应的属性方法或成员变量。关于KVC的实现主要依赖于其搜索规则。 在赋值过程中,我们会使用- (void)se…
2018年 iOS 面试心得
面试了几家公司之后,最后来到了爱奇艺(坐标上海),工作的内容是笔者个人非常感兴趣的领域。能拿到这个结果对于入行两年半&非科班的笔者来说无疑是幸运的。 很感谢面试官给我这次机会,因为并不是所有人都会认可你的努力,生活本来就没有任何理所应当。 具体的面了哪些公司,有哪些面试题在这里…