SDWebImage 源代码剖析-缓存策略

在上一篇文章中,我们对Masonry 的源代码进行了分析。今天我们将对另外一个在iOS 开发中广泛使用的库的源代码进行分析,这个库就是鼎鼎大名的SDWebImage。事实上SDWebImage 是如此常用和好用,以至于没有听说过没有用过没有分析过这个库的人应该是少数了。下面是我个人对这个库的缓存策略部分的代码分析和理解。由于本人才疏学浅,若有错误,请大家及时指出,不吝赐教。

继续阅读

Objective-C 中的block

block 是Apple 为C语言提供的语言扩展,其实质是:带有自动变量的匿名函数。block 在iOS的动画、异步网络请求以及GCD等中被广泛使用。但是,它的语法却有点复杂,有人甚至专门做了一个网站来记录block 的用法,从网址中就可以看出他对block 的语法有多少怨言了。

继续阅读

Objective-C 高级内存管理

Objective-C 提供了两种内存管理的方法,一是 ARC ,即 Automatic Reference Counting,二是 MRR,即 Manual Retain-release。苹果官方推荐的方法是 ARC,因为使用 ARC 时,我们不需要考虑这些复杂的管理过程,编译器会在编译时自动帮我们加上对应的代码。

继续阅读