iOS-Source-Code-Analyze Banner designed by Levine 为什么要建这个仓库 世人都说阅读开源框架的源代码对于功力有显著的提升,所以我也尝试阅读开源框架的源代码,并对其内容进行详细地分析和理解。在这里将自己阅读开源框架源代码的心得记录下来,希望能对各位开发者有所帮助。我会不断更新这个仓库中的文章,如果想要关注可以点 star。 目录 Latest:如何优雅地使用 KVO Project Version Article ReactiveObjC 2.1.2 『状态』驱动的世界:ReactiveCocoa Pull-Driven 的数据流 RACSequence 『可变』的热信号 RACSubject 优雅的 RACCommand 用于多播的 RACMulticastConnection RAC 中的双向数据绑定 RACChannel 理解 RACScheduler 的实现 从代理到 RACSignal KVOController 1.2.0 如何优雅地使用 KVO AsyncDisplayKit 1.9.81 提升 iOS 界面的渲染性能 从 Auto Layout 的布局算法谈性能 预加载与智能预加载(iOS) CocoaPods 1.1.0 CocoaPods 都做了什么? 谈谈 DSL 以及 DSL 的应用(以 CocoaPods 为例) OHHTTPStubs 5.1.0 iOS 开发中使用 NSURLProtocol 拦截 HTTP 请求 如何进行 HTTP Mock(iOS) ProtocolKit 如何在 Objective-C 中实现协议扩展 FBRetainCycleDetector 0.1.2 如何在 iOS 中解决循环引用的问题 检测 NSObject 对象持有的强指针 如何实现 iOS 中的 Associated ObjectiOS 中的 block 是如何持有对象的 fishhook 0.2 动态修改 C 语言函数的实现 libextobjc 如何在 Objective-C 的环境下实现 defer IQKeyboardManager 4.0.3 『零行代码』解决键盘遮挡问题(iOS) ObjC 从 NSObject 的初始化了解 isa 深入解析 ObjC 中方法的结构 从源代码看 ObjC 中消息的发送 你真的了解 load 方法么? 上古时代 Objective-C 中哈希表的实现 自动释放池的前世今生黑箱中的 retain 和 release 关联对象 AssociatedObject 完全解析懒惰的 initialize 方法对象是如何初始化的(iOS) DKNightVersion 2.3.0 成熟的夜间模式解决方案 AFNetworking 3.0.4 AFNetworking 概述(一) AFNetworking 的核心 AFURLSessionManager(二) 处理请求和响应 AFURLSerialization(三) AFNetworkReachabilityManager 监控网络状态(四) 验证 HTTPS 请求的证书(五) BlocksKit 2.2.5 神奇的 BlocksKit(一)遍历、KVO 和分类 神奇的 BlocksKit(二)动态代理的实现 Alamofire iOS 源代码分析 --- Alamofire SDWebImage iOS 源代码分析 --- SDWebImage MBProgressHUD iOS 源代码分析 --- MBProgressHUD Masonry iOS 源代码分析 --- Masonry Redis 3.2.5 Redis 和 I/O 多路复用 Redis 中的事件循环 Redis 是如何处理命令的(客户端) 勘误 如果在文章中发现了问题,欢迎提交 PR 或者 issue 转载 本作品由 Draveness 创作,采用知识共享署名 4.0 国际许可协议进行许可。