为什么现在还要看一门 Objective-C 的 iOS 课

这门课讲的是用 Objective-C 开发 iOS 应用。你可能会问,现在苹果主推 Swift,为什么还要学 OC?答案很务实:国内大量线上 App 的底层历史代码、第三方成熟组件库、以及很多公司的核心业务模块依然是用 OC 写的。如果你在工作中需要接手老项目、排查线上崩溃、或者替换某个旧组件,看不懂 OC 就只能干瞪眼。这门课解决的就是这个断层问题,它不教你追新潮,而是帮你补上维护老代码必须具备的底层语言和工程认知。

适合什么基础与学习顺序建议

课程从创建工程、认识项目结构讲起,对零基础算友好,但我更建议你至少懂一点 C 语言语法,比如指针、结构体的概念,因为 OC 本身是对 C 的面向对象扩展,没有这层认知,看消息发送机制会有点吃力。资料建议按模块顺序看,先不要跳着看控件详解。第一部分的工程结构、第一个 App 的编写流程是地基,必须先在本地跟着敲一遍,跑通同步文本和时间显示这两个小例子,理解控制器和视图怎么联动。之后再看控件详解,重点看动态创建和视图控制器类替换的逻辑,这往往是新手从拖控件过渡到写代码逻辑的卡点。混合开发那一节虽然短,但非常实用,建议重点看,它能帮你理解现网项目中 OC 和 Swift 混编时的互相调用规则。

学完能做什么与资料配合练习方法

学完这套资料,你不会立刻成为高级架构师,但能独立完成一个单机页面的 App 搭建,包括配置图标、启动画面,熟练使用基础控件,并看懂中等复杂度的 OC 代码。配合练习时,不要只是看视频,一定要开着 Xcode 同步操作。每看完一个控件讲解,就在本地工程里自己写一个类似场景,比如讲完图像按钮,就自己改写状态和点击事件。遇到编译报错先自己查文档,不要直接跳过。这套资料没有提供完整的实战项目源码,所以你要把视频里的例子当成积木,自己拼一个带两三个页面跳转的小工具,这样才能把零散的控件知识串成完整的开发手感。


本课程的目标是让学员深入学习iOS9的开发方法和开发技巧,并熟练使用OC开发基于iOS的App。

课程目录

*   01 基础知识/

  *   01 课程介绍.mp4 03:09

  *   02 创建iOS工程并运行iOS App.mp4 12:17

  *   03 iOS工程结构.mp4 16:41

  *   04 编写第一个iOS App:同步文本.mp4 20:18

  *   05 编写第一个iOS App:显示当前的日期和时间.mp4 17:17

  *   06 混合开发:OC调用Swift API.mp4 19:32

  *   07 完善iOS App:指定图标和启动画面.mp4 07:54

*   02 控件详解/

  *   01 Button控件基础.mp4 13:14

  *   02 更换storyboard对应的视图控制器类.mp4 12:34

  *   03 图像按钮.mp4 10:10

  *   04 动态创建文本按钮.mp4 16:20

  *   05 动态创建图像按钮.mp4 07:50

  *   06 UILabel控件的基本属性.mp4 09:57

  *   07 UILabel的裁剪模式和折行模式.mp4 10:24

  *   08 动态创建UILabel控件.mp4 07:34

  *   09 创建混合文本标签.mp4 08:50

  *   10 动态设置约束(可视化格式语言【VFL】的应用).mp4 20:13

  *   11 UITextField控件的基本用法.mp4 08:57

  *   12 用代码显示和隐藏软键盘.mp4 09:28

  *   13 不让软键盘覆盖控件.mp4 24:55

  *   14 定制软键盘.mp4 12:42

  *   15 为软键盘添加附属面板.mp4 25:58

  *   16 UITextField控件的代理.mp4 16:15

  *   17 为UITextField控件添加菜单项.mp4 14:27

  *   18 UITextView控件.mp4 07:56

  *   19 UiImageView控件.mp4 12:30

  *   20 UiSwitch控件.mp4 12:48

  *   21 UiPickerView控件(列表控件).mp4 19:17

  *   22 UIDatePicker控件(日期控件).mp4 21:56

  *   23 UISlider控件(滑块控件).mp4 08:57

  *   24 UIProgressView控件(进度条控件).mp4 06:06

*   03 屏幕适配/

  *   01 屏幕适配要考虑哪些因素.mp4 09:17

  *   02 设计分辨率、资源分辨率和物理分辨率.mp4 27:38

  *   03 状态栏、导航栏和标签栏的高度.mp4 15:34

  *   04 识别屏幕.mp4 14:50

  *   05 通过代码动态改变屏幕方向.mp4 08:21

  *   06 自动布局(AutoLayout).mp4 12:02

  *   07 不同设备使用不同的storyboard.mp4 13:39

*   04 多视图/

  *   01 使用Xib实现多视图.mp4 11:35

  *   02 通过storyboard实现多视图.mp4 10:42

  *   03 视图切换动画.mp4 04:51

  *   04 Toolbar与多视图切换.mp4 12:01

  *   05 用TabBarController实现多视图切换.mp4 06:56

*   05 导航/

  *   01 NavigationController导航基础.mp4 09:49

  *   02 通过OC代码动态实现导航.mp4 31:44

  *   03 表视图(UiTableView)基础.mp4 08:33

  *   04 在表视图中显示数据.mp4 15:47

  *   05 在表视图中分组显示数据.mp4 07:27

  *   06 为表视图添加header、section header和section footer.mp4 11:08

  *   07 在section header和section footer上显示图像.mp4 08:17

  *   08 为UITableView添加导航索引.mp4 09:00

  *   09 UITableView的动作处理.mp4 03:46

*   06 音频和视频/

  *   01 播放系统声音.mp4 08:49

  *   02 释放系统声音占用的内存资源.mp4 08:59

  *   03 使用AVAudioPlayer播放音频文件.mp4 07:52

  *   04 响应AVAudioPlayer播放完成的动作.mp4 03:05

  *   05 使用AVAudioEngine播放音频文件.mp4 09:26

  *   06 使用AVAudioEngine进行混音.mp4 11:02

  *   07 使用AVKit播放视频.mp4 06:00

  *   08 在当前视图中显示视频播放界面.mp4 06:01

*   07 数据持久化/

  *   01 沙盒路径.mp4 13:53

  *   02 在Documents目录中创建子目录和文件.mp4 10:08

  *   03 递归枚举所有的目录和文件.mp4 09:05

  *   04 非递归方式枚举指定目录中的子目录和文件.mp4 07:58

  *   05 序列化和反序列OC对象.mp4 30:47

  *   06 操作XML文档(1).mp4 12:06

  *   07 操作XML文档(2).mp4 18:55

  *   08 操作JSON文档.mp4 14:05

  *   09 管理SQLite数据库.mp4 07:07

  *   10 使用C Library(sqlite3)操作SQLite数据库(1).mp4 16:29

  *   11 使用C Library(sqlite3)操作SQLite数据库(2).mp4 11:31

  *   12 使用FMDatabase操作SQLite数据库.mp4 11:24