能力缺口在哪:别拿 Swift 的底子假装懂 OC
很多开发者转岗接手老项目,或者在排查底层历史遗留代码时,一打开满屏的方括号消息传递就发懵。现在新工程清一色 Swift,但大量的 iOS 老旧业务模块、核心组件甚至跨端底层库,依然是用 Objective-C 写的。如果你只会现代 Swift,遇到 OC 的手动内存管理、分类扩展机制,或者排查野指针崩溃时,基本无从下手。这门课解决的就是这种“半懂不懂”的尴尬,专门补足 OC 的底层运行机制。它适合至少有一门主流编程语言基础、能独立写点简单 iOS 界面的开发者。如果你完全没碰过苹果生态的开发工具,连怎么编译运行代码都不知道,建议先去把基础开发工具的图形化操作过一遍再来看,否则会在工程配置上卡壳。
建议先看哪几块:消息传递与内存管理是生死线
这套资料虽然按顺序排了二十多讲,但千万别从头到尾匀速看。建议直接跳过最基础的语法扫盲,从面向对象引入和类的声明实现看起,重点啃透 OC 特有的消息传递机制,也就是那个方括号语法到底是怎么在运行时找方法的。紧接着必须死磕内存管理这几讲。现代开发有自动引用计数(ARC)兜底,但看老代码必须懂手动引用计数(MRC)的规则,否则你根本看不懂历史代码里为什么要写那么多 retain 和 release。一定要跟着视频里的存取器方法自己敲一遍,理解属性背后自动生成的 getter 和 setter 是怎么处理对象引用的。资料包里的课堂练习代码片段不要只用眼睛看,必须拖到本地工程里编译,故意改错引用计数,触发内存泄漏或野指针崩溃,看着控制台报错去反向理解规则。
学完能独立做什么:接手老项目与排查底层崩溃
看完这套资料,你应该能脱离现代语法糖,直接读懂没有 ARC 的老项目源码,理清类的继承链条和方法的覆盖逻辑。遇到历史模块的崩溃日志,能通过引用计数的规则推导出是哪里过度释放了对象。更实用的是,你能自己写 OC 的分类去给老代码打补丁,而不是傻乎乎地去重写整个笨重的基类。在配套练习上,建议自己建一个纯命令行的工程,不要依赖任何界面框架,纯手写类的声明与实现,手动管理对象的生命周期。把资料里提到的 self 和 super 在继承链里的指向逻辑,通过打印日志自己验证一遍。别去背概念,自己写几段多态和组合的测试代码跑一遍,内存管理的坑踩过一次,比看十遍视频都管用。查漏补缺就踏踏实实补,别假装这些底层机制你天生就懂。
课程目录
1 课程概述 (14:30) 2 第一个OC程序 (15:04) 3 程第一个OC程序详解 (10:47) 4 新的数据类型 (17:00) 5 面向对象引入 (23:48) 6 类的声明 (20:19) 7 类的实现 (14:32) 8 类的实例化 (30:41) 9 课堂练习 (10:49) 10 对象的初始化 (31:05) 11 存取器方法 (08:22) 12 属性声明 (28:13) 13 self和super (33:40) 14 内存管理规则 (30:41) 15 自动释放池 (17:59) 16 引用计数和存取器 (35:52) 17 引用计数和存取器2 (34:05) 18 常见内存错误 (07:48) 19 继承 (58:05) 20 方法的覆盖 (37:35) 21 继承方式下消息的传递 (22:03) 22 组合 (53:27) 23 多态的基本概念 (27:48) 24 id类型 (12:03) 25 动态类型识别 (25:26) 26 SEL类型 (20:42) 27 动态识别的应用 (16:35) 28 静态VS动态 (21:32) 29 动态绑定 (18:26) 30 动态加载 (19:20) 31 分类 (30:59) 32 协议 (24:43) 33 33 代理设计模式 (33:52)





