《iOS 三问》 -- 总目录

苏格拉底是古希腊著名的思想家、哲学家、教育家。他和他的学生柏拉图,以及柏拉图的学生亚里士多德并称为 “古希腊三贤”,被后人广泛地认为是西方哲学的奠基者。

而苏格拉底提出了著名的人生哲学终极三问:“我是谁、我从哪里来、我要到哪里去?”

为何这会被称为终极三问?因为这些问题表面上简单,其实很难回答上来。我是谁?很多时候你以为你知道你是谁,其它你只知道自己的标签。我是一个程序员、我是一名父亲、我是一名党员,那么终究到底除却这些标签后,你还是谁呢?你是从哪里来的,你要到哪里去?

技术也是一样的,我们常常只对一个技术留于表面,比如我们知道 面向对象编程,那什么是 面向对象,他的本质是什么,这个技术或机制是怎么设计出来的,为什么要这样设计,我们常常选择性忽略这些问题或满足于对其的一知半解。而 技术三问系列 就是这样的一个自醒的专题,我希望在这里记录下我对这门技术的认识,并要求自己不断地追求探索,企图了解更多其中的奥妙与真谛。

其中对于每一个技术点我都希望遵循这样的结构(下面的 XX 代表每章要讲的内容,有些摘录的文章会直接抄录原文的内容,注明是【转】的,并给出原文作者与地址):

  1. 是什么:XX 是什么,尽自己最大能力说明 xx 的作用、本质、及是如何产生、实现、应用的。
  2. 为什么:XX 是为了解决什么问题,解决这个问题有些什么现有的方法,为什么要用 XX。
  3. 怎么样:xx 的设计与实现是怎样的,XX 是怎样工作来解决问题的。
  4. 还能怎样:进阶应用,怎样优化 XX,还有哪些延伸的应用。
  5. 操作:命令、代码、步骤记录。更 贴近实际项目与产品,尽量结合实际工作中的经验、工具、流程。

本系列并非是想自己出一个著作,只是想整理下自己的本时笔记与摘录下网上的优秀文章并统一编排方便自己查阅,也方便有需要的人可以系统地找到自己想要的内容。

感谢 bang 的这一篇文章对我的目录安排提供了很好的参照(实际上基本是照搬他的结构):

个人觉得比较给力的是,我为系列文章中所写的内容都搭配了具体的代码 Demo,可以在我的 iOSOneDemo 中查看。

1 语言

1.1 Objective-C 语言

1.1.1 #define 用法大全

1.2 内存管理

1.3 Runtime

1.3.1 Objective-C 类结构体系与面向对象的实现

1.4 RunLoop

2 UI 技术

2.1 CALayer

2.1.1 CALayer 基础

2.1.2 CALayer 常用显示属性

2.1.3 CALayer 的专用图层

2.1.4 CALayer 常用几何变换 transform

2.2 动画

2.2.1 iOS 动画概述

2.2.2 iOS 动画之帧动画

2.2.3 iOS 动画之 View 动画

2.2.4 iOS 动画之 CALayer 隐式动画

2.2.5 从动画系统的实现谈 iOS 核心动画

2.3 高级

2.3.1 iOS UI 显示的原理及优化策略 (上) – iOS UI 显示基础

2.3.2 iOS UI 显示的原理及优化策略 (中) – iOS UI 优化工具

2.3.3 iOS UI 显示的原理及优化策略 (下) – iOS UI 优化场景

3 系统

3.1 基础与工具

3.1.1 Mac OS 小史记

3.1.2 iOS 系统的交叉编译

3.1.3 iPhone 设备分辨率大全与机型适配

4 框架与工具

5 网络与多线程

5.1 基础

5.1.1 Block (上) Block 是什么

5.1.2 Block (中) 深入函数栈

5.1.3 Block (下) 深入 Block 的实现

6 存储

7 专项技术

8 逆向与安全

9 性能优化与问题解决

9.1 网络

9.1.1 解决 web 页面在 WebView 中不能捏合缩放的问题

9.2 并发

9.2.1 一处 static 成员变量初始化不当导致的并发问题

10 架构与规范

11 附 bang 的架构图

bang 的架构图

12 引用

【1】bang - iOS 开发技术栈与进阶