前言
在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧密的联系,view 其实直接从 layer 对象中获取了绝大多数它所需要的数据。layer侧重于图形的显示,而view相当于layer的管理者。本文将从几个不同方面来比较view和layer的区别和联系。
it is never too late to learn !
在 iOS 中,所有的 view 都是由一个底层的 layer 来驱动的。view 和它的 layer 之间有着紧密的联系,view 其实直接从 layer 对象中获取了绝大多数它所需要的数据。layer侧重于图形的显示,而view相当于layer的管理者。本文将从几个不同方面来比较view和layer的区别和联系。
iOS技术博客列表
由唐巧维护在github上,收集了很多优秀的中文iOS技术博客。
iOS常用第三方库
收集了iOS常用的第三方库以及其他资源
iOS开发资源汇总整理
收集了iOS开发的文档,视频以及其他综合信息
iOS 开发流程笔记
收集了iOS证书,调试,上架等知识
就像 iOS 开发中的 ViewController 一样,React Native(RN) 中的组件也有生命周期(Lifecycle)。所谓生命周期,就是一个对象从开始生成到最后消亡所经历的状态,理解生命周期,是合理开发的关键。
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,我们平常开发中也会经常用到RunLoop,但很多时候我们使用RunLoop都是一知半解的。这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。
Objective-C对象在收到消息之后会经过消息发送系统来进行处理,该系统会查出消息对应的方法并执行其代码。那么对于给定@selector名称相对应的方法是否可以在运行期可以动态改变呢?如果能善用这个特性,则可发挥出巨大优势,因为我们可以不需要源码也不需要通过继承子类来覆写对应的方法就能改变这个类本身的功能。
Objective-C中确实提供了这样的操作,这就是我们这里会介绍到的Method Swizzling。在Objective-C中每个类都有一个方法列表,类的方法列表会把@selector映射到相关的方法实现之上,使得消息发送系统能够根据这个找到应该调用的方法。