0%

iOS 常读常新的文章索引(持续更新)

OC

Runtime

重识 Objective-C Runtime - Smalltalk 与 C 的融合
Runtime 源码笔记:对象与类
Objective-C类成员变量深度剖析
深入理解Objective-C:Category
深入理解 Objective-C:方法缓存
刨根问底Objective-C Runtime

【翻译】Objective-C Runtime Programming Guide
Objective-C 消息发送与转发机制原理

Block

Block 笔记
一道Block面试题的深入挖掘

一种查看Block中引用的所有外部对象的实现方法
追踪 Objective-C Block 代码定义的位置
追踪 Objective-C 方法中的 Block 参数对象

ARC

《Objective-C 高级编程》干货三部曲(一):引用计数篇
Objective-C 引用计数原理
iOS底层学习——weak实现原理和销毁过程
黑幕背后的Autorelease
深入理解Autorelease Pool

自动释放池的前世今生 —- 深入解析 autoreleasepool
DEAD in iOS Memory
iOS Memory Deep Dive
iOS Memory Deep Dive

多线程 GCD 锁

【WWDC】Mastering Grand Central Dispatch
iOS多线程:『NSOperation、NSOperationQueue』详尽总结

Power, Performance, and Diagnostics: What’s new in GCD and XPC
Advanced NSOperations–WWDC 2015 - Session 226
Mastering Grand Central Dispatch–WWDC 2011 - Session 210
GCD 深入理解:第一部分
GCD 深入理解:第二部分
iOS多线程到底不安全在哪里?
17 | 远超你想象的多线程的那些坑
如何用Xcode8解决多线程问题

Threading Programming Guide(1)
《Objective-C 高级编程》干货三部曲(三):GCD篇
深入浅出GCD之基础篇

iOS中常见的八种锁
正确使用多线程同步锁@synchronized()
Threading Programming Guide(3)

KVO

KVC/KVO 笔记
一种基于KVO的页面加载,渲染耗时监控方法
巧妙利用 KVO 实现精准的 VC 耗时检测
如何优雅地使用 KVO

Foundation

iOS 中集合遍历方法的比较和技巧
NSFast​Enumeration / NSEnumerator
一些NSArray,NSDictionary,NSSet相关的算法知识
NSHash​Table & NSMap​Table
分类(Category) VS 扩展(Extension)
关联对象 AssociatedObject 完全解析

iOS NSNotification使用及原理实现

Swift

A站 的 Swift 实践 —— 下篇
Swift5.0的Runtime机制浅析
Swift 中的 struct 和 class
为什么Swift说自己是安全的?

面向协议编程与 Cocoa 的邂逅 (上)

Runloop

深入理解RunLoop
Threading Programming Guide(2)
解密 Runloop
iOS应用UI线程卡顿监控
卡顿监控
13 | 如何利用 RunLoop 原理去监控卡顿?
Runloop-实际开发你想用的应用场景
iOS 事件处理机制与图像渲染过程

触摸事件

iOS触摸事件全家桶
关于TapGesture、UIResponder 链和 target-action 事件的相互影响的机理和应用

UIControl

UIKit: UIControl

Timer

iOS倒计时的探究与选择
NSTimer循环引用原因及解决方案
小心 NSTimer 中的内存泄漏

iOS关于时间的处理

图像渲染流程

42 | iOS原生、大前端和Flutter分别是怎么渲染的?
iOS 渲染原理解析
iOS圆角的离屏渲染,你真的弄明白了吗

iOS 保持界面流畅的技巧

动画

iOS动画(Core Animation)总结
iOS 视图控制器转场详解
WWDC 2013 Session笔记 - iOS7中的ViewController切换
View Controller 转场

Image

移动端图片格式调研
iOS 处理图片的一些小 Tip
WWDC2018-Image and Graphics Best Practices
iOS性能优化——图片加载和处理
iOS图片加载速度极限优化—FastImageCache解析
谈谈 iOS 中图片的解压缩
iOS中的imageIO与image解码

图片之旅
Large Image Downsizing

SDWebImage

源码浅析 SDWebImage 5.5.2

YYWebImage

YYWebImage 源码剖析:线程处理与缓存策略

Text

YYText 源码剖析:CoreText 与异步绘制
28 | 怎么应对各种富文本表现需求?

Quartz 2D

Quartz 2D编程指南之一:概览

启动

点击 Run 之后发生了什么?
iOS App启动过程
优化 App 的启动时间

02 | App 启动速度怎么做优化与监控?
iOS App从点击到启动
iOS 启动时间与Dyld3
云音乐 iOS 启动性能优化「开荒篇」
如何对 iOS 启动阶段耗时进行分析

性能优化

Getting Started with Instruments
深入剖析 iOS 性能优化
16 | 性能监控:衡量 App 质量的那把尺
Perfect smooth scrolling in UITableViews
iOS拾遗—— Assets Catalogs 与 I/O 优化
性能深度分析之System Trace

正经分析iOS包大小优化

监控系统

iOS 性能监控 SDK —— Wedjat(华狄特)开发过程的调研和整理
带你打造一套 APM 监控系统
iOS云音乐APM性能监控实践

iOS微信内存监控
14 | 临近 OOM,如何获取详细内存分配信息,分析内存问题?
你真的了解OOM吗?——京东iOS APP内存优化实录
iOS 内存泄漏场景与解决方案

内存

柒 虚拟内存与动态内存分配
36 | iOS 是怎么管理内存的?

Cache

YYCache 源码解析
YYCache 源码剖析:一览亮点
iOS当中的Cache设计

Debug

Understanding Crashes and Crash Logs
WWDC 2018:理解崩溃以及崩溃日志

Crash 符号化
iOS 符号化:基础与进阶
漫谈 iOS Crash 收集框架
iOS 启动连续闪退保护方案
iOS KVO crash 自修复技术实现与原理解析

与调试器共舞 - LLDB 的华尔兹
小笨狼与LLDB的故事

架构

iOS 架构模式 - 简述 MVC, MVP, MVVM 和 VIPER (译)
iOS架构之View层的架构方案
浅谈 MVC、MVP 和 MVVM 架构模式

ReactiveCocoa 和 MVVM 入门®

模块化

iOS 组件化方案探索
iOS组件化方案
iOS 组件化 —— 路由设计思路分析
移动端组件化架构(上)
移动端组件化架构(下)

美团外卖iOS多端复用的推动、支撑与思考

网络

深度优化iOS网络模块
iOS 端定位「网络问题」
iOS Authentication Challenge

AFNetworking

AFNetworking
AFNetworking 源码分析
探秘AFNetworking
NSURLSession最全攻略
Network.framework 入门

NSCoding

NSCoding / NSKeyed​Archiver
领悟到 NSCoding 是一个坑,Apple 花了10年时间

WebView

iOS中UIWebView与WKWebView、JavaScript与OC交互、Cookie管理看我就够(上)
JavaScriptCore全面解析 (下篇)
深入理解JSCore
从零收拾一个hybrid框架(一)– 从选择JS通信方案开始#几种通信方式的优缺点对比
WebView性能、体验分析与优化
iOS 端 h5 页面秒开优化实践

Flutter

Flutter动态化热更新的思考与实践
Flutter GetX使用—简洁的魅力!

埋点

iOS自动化埋点探索
无痕埋点的设计与实现
09 | 无侵入的埋点方案如何实现?
打造一个通用、可配置、多句柄的数据上报 SDK

加密/Code Signing

iOS App 签名的原理
代码签名探析
iOS 的 Code Signing 体系
深度长文:细说iOS代码签名
将代码签名配置迁移到 Xcode 8

逆向

移动App入侵与逆向破解技术-iOS篇
小蚁摄像机App加密探究
iOS应用逆向工程资料

音视频

iOS 视频编辑核心架构
(强烈推荐)移动端音视频从零到上手
FFMPEG视音频编解码零基础学习方法
视频压缩编码和音频压缩编码的基本原理
即时通讯音视频开发
VideoLab - 高性能且灵活的 iOS 视频剪辑与特效框架
FFmpeg原理

Dark Mode

微软是如何适配 Dark Mode 的?

实用小技巧

iOS知识小集 —— 微博话题
knowledge-kit
10 个 iOS 开发实用小技巧

iOS系统中导航栏的转场解决方案与最佳实践

I

2018 6月底面试经历简单回忆
2017年5月iOS招人心得(附面试题)
阿里、字节 一套高效的iOS面试题解答(完结)
Interview-Question & Answer
《招聘一个靠谱的iOS》面试题参考答案(上)

集合
CS-Notes
ios-interviews