性能优化
- bestswifter结合Instrument分析影响性能的因素,提出优化方案并解释背后的原理
UIKit性能调优实战讲解 - bestswifter添加圆角的正确姿势(不影响性能的前提下增加圆角的正确姿势)
iOS 高效添加圆角效果实战讲解 - YYKit作者非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。
iOS 保持界面流畅的技巧 - 多方面又详细的讲解优化性能
iOS应用性能调优的25个建议和技巧 - 项目分析及优化的一些方法
iOS项目分析及优化 - 遍历数组或者字典时用哪些方法比较好
关于EnumerateObjectsUsingBlock和for-in之间的较量 - 孙源大神UITableViewCell 利用 AutoLayout 自动高度计算和 UITableView 滑动优化(牛!)
优化UITableViewCell高度计算的那些事 - 一篇如何检测内存泄漏的问题
在iOS上自动检测内存泄露
实现原理与代码解析
- DKNight作者对开源项目的理解和分析(推荐!)
深入解析 iOS 开源项目 - 孙源大神写的objc与鸭子对象(上)
objc与鸭子对象(上) - 孙源大神写的objc与鸭子对象(下)
objc与鸭子对象(下) - 解析Aspects 开源项目的代码以及作用
Aspects 源代码解析<一> - YYKit作者对自旋锁OSSpinLock不再安全的问题的分析
不再安全的 OSSpinLock - iOS 底层解析weak的实现原理
iOS 底层解析weak的实现原理 - iOS 讲解socket的原理
关于iOS socket都在这里了 - 喵神对swift文章的翻译以及注解
所有权宣言 - Swift 官方文章 - 理解为什么对象需要alloc和init
alloc、init你弄懂50%了吗? - 一位架构师对View层级的理解和解决方案
iOS应用架构谈 view层的组织和调用方案 - YYKit大神的Cache
YYCache 设计思路
GCD
- bestswifter对 GCD 常用 API 的追问与思考,深入理解这些问题有助于更好地使用 GCD
深入理解GCD - 图文并茂的讲解GCD
GCD 多线程编程 - 详细的分析讲解GCD(文章中有些问题,应该是并发队列,而并非并行队列)
小笨狼漫谈多线程:GCD(一) - 深入但易懂的讲解GCD
iOS多线程--彻底学会多线程之『GCD』
runtime
- 翻译-为什么objc_msgSend必须用汇编实现
为什么objc_msgSend必须用汇编实现 - 分析和总结使用Method Swizzling时机和用法
Objective-C Method Swizzling - 讲解runtime中的方法交换的原理
iOS黑魔法-Method Swizzling - 详细说明了SEL和IMP到底是什么。
iOS中的SEL和IMP到底是什么 - 结合上面的文章可以理解Runtime和SEL以及IMP的关系
Runtime,元类,isa指针的概念及联系
runloop
- YYKit作者深入讲解Runloop的运行原理
深入理解RunLoop - 简单易懂的讲解了Runloop的运行方式
浅显易懂的 RunLoop 总结 - 孙源大神详细讲解runloop中的autoRelease如何实现的
黑幕背后的Autorelease
原生组件的使用心得与方法
- YYKit作者对开发锁的安全问题的心得
不再安全的 OSSpinLock - iOS开发中各种锁的使用方式
iOS 开发中的八种锁(Lock) - 讲解NSObject之外的基类NSProxy是干嘛用的
NSProxy——少见却神奇的类 - 详细说明了苹果原生API提供的图片拉伸功能
resizableImageWithCapInsets:方法的探析 - 简单易懂的制作Framework的文章
iOS-制作Framework - iOS获取唯一标示的几种方法
iOS唯一标示符引导 - 使用CALayer层创建内容
CALayer及其子类(一) - NSParagraphStyle的使用
NSParagraphStyle简介
面试心得
- bestswifter大神的入职百度的经验心得
BAT 面试指南
其他类
- 对如何埋点收集什么数据以便于统计分析问题的解答
移动应用如何埋点收集什么数据以便于统计分析? - 讲解为什么做数据采集以及如何实现
iOS无埋点数据采集 - APP动效化到底给我带来的什么
APP动效之美需内外兼修 - 为什么使用动效设计
为什么使用动效设计 - Markdown的写作方式(对插入图片超链接等不明白的可以看看)
献给写作者的 Markdown 新手指南