GCD除了多线程的能力,我们常常还会利用栅栏、信号量等功能实现一些特定需求,本文将通过对libdispatch-1173.60.1源码[http...
本文主要通过GCD源码libdispatch-1173.60.1(源码下载[https://opensource.apple.com/relea...
GCD全程Grand Central Dispath,是苹果提供的一套多核并行运算的解决方案,GCD使用纯C语言的API,提供了非常强大的API...
iOS内存主要分成栈区、堆区、全局区、常量区、代码区这五大区域。如下图所示: 栈(Stack) 栈是由高地址向低地址扩展的一块连续的内存区域,一...
通常我们会在分类中添加方法,而无法在在分类中添加属性,我们在分类中添加@property(nonatomic, copy) NSString *...
在上一篇文章中我们基本了解了类是如何加载到内存的,但是我们仅仅探究了本类的方法加载,而对于分类的情况仍然没有探究,本文就对分类的方法时如何加载到...
在上一篇文章(dyld和objc的关联[https://www.jianshu.com/p/9dd9b9d09b43])中,我们我已经了解到ob...
dyld(the dynamic link editor),也就是动态链接器,是内核在完成进程工作后,需要将需要的库和符号链接到Mach-O镜像...
从objc4官方的源码上看,当一个方法经过快速查找和慢速查找后,会经过动态方法决议进行第一次补救,然而苹果仅仅给我们这一次补救机会吗?从源码上我...