本文Demo的完整工程代码, 参考这里的EqualAndHashDemo 目录 为什么要有isEqual方法? 如何重写自己的isEqual方法? 为什么要有hash方法? ...
IP属地:江西
本文Demo的完整工程代码, 参考这里的EqualAndHashDemo 目录 为什么要有isEqual方法? 如何重写自己的isEqual方法? 为什么要有hash方法? ...
通知概念 苹果官方文档有一段对通知的介绍如下: A notification is a message sent to one or more observing objec...
本文阅读的objc源码 1. @autoreleasepool cc -rewrite-objc得到: 在编译结果内你能找到__AtAutoreleasePool结构体: 所...
SDWebImage是我们经常使用的一个异步图片加载库,使用时只需一行代码就能实现网络图片的异步加载、缓存(内存+磁盘),非常方便。最近工作稍清闲,就仔细研读了一下它的源码。...
Dealloc方法底层流程如下:
问题 Category的实现原理,以及Category为什么只能加方法不能加属性。 Category和Extension的区别是什么? Category中有load方法吗?l...
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。 Runtime介绍...
说到iOS多线程,大部分人应该立马就想到了GCD(Grand Central Dispatch) ,因为GCD使用起来方便,代码逻辑也清晰。但是,GCD也不是万能的,有些功能...
iOS weak 原理 直接看源码 上篇文章提到 isa 指针的结构,如果看过的人,对前面的 if 语句,一看便知,如果是非指针型 isa 并且 没有弱引用并且没有关联对象并...