为什么还要从基础重新学 Swift?

很多转岗 iOS 开发的学习者容易陷入一个误区:觉得掌握了 Objective-C 就能无缝切换,或者直接跳过语法直奔UIKit。然而,Swift 作为一门现代语言,其核心理念与 OC 有着本质区别,尤其是强类型系统和可选类型(Optional)的设计,往往是新手踩坑的重灾区。这套课程并非泛泛而谈,而是精准针对“语法盲区”和“思维转换”这两个核心痛点。它解决的正是你写代码时经常遇到的“类型不匹配”、“空指针崩溃”以及“逻辑控制混乱”等问题。如果你发现自己对 Swift 的底层数据类型理解模糊,或者在处理复杂数据结构时力不从心,那么从最基础的常量、变量和类型系统重新梳理,是最高效的“补课”方式。

适合谁看?建议从哪块切入?

这门课最适合两类人群:一是刚刚接触 Swift,希望建立扎实语法地基的零基础或跨语言初学者;二是有其他编程语言经验,但想系统查漏补缺、纠正 Swift 特殊语法规则的技术学习者。特别需要注意的是,课程的前半部分涵盖了常量变量、数据类型、字符串、元组以及 nil 的应用,这些是后续所有高级特性的基石,切勿跳读。

建议先看前 10 节关于“数据本质”的内容,重点理解 Swift 的类型安全和可选类型的逻辑;接着攻克第 12 到 15 节的数组与字典,这是处理集合数据的核心;最后结合第 16 到 18 节的控制流和函数,形成完整的代码逻辑闭环。课程中提到的 Playground 工具非常值得利用,它能让抽象的语法概念在即时反馈中变得直观。

学完能做什么?如何配合资料练习?

完成这套内容后,你将能够独立编写结构清晰的 Swift 脚本,熟练运用数组、字典等集合类型进行数据处理,并准确使用条件语句和循环控制程序流程。更重要的是,你将建立起符合 Swift 规范的编程思维,为后续学习 SwiftUI 或 UIKit 界面开发打下坚实的底层基础。关于配套练习,课程资料中提供的源代码是理解关键逻辑的重要参考,但切忌直接复制粘贴。建议在观看每一节后,尝试关闭源码,自己从零实现一遍核心逻辑,比如手动创建一个包含不同类型元素的数组并进行遍历操作,或者编写一个处理可选值的安全解包函数。只有通过亲手编码产生的“肌肉记忆”,才能真正填补你的能力缺口。

课程目录

1 Swift简介和开发环境搭建(学员请加QQ群索取全部源代码) (04:51)
2 常量和变量 (05:34)
3 数据类型 (13:22)
4 Swift中的字符串 (13:09)
5 XCode6的新玩具:playground (06:26)
6 Swift中的字符 (09:03)
7 元组数据类型(tuples) (07:09)
8 nil的应用 (02:06)
9 类型别名(自定义类型) (02:01)
10 类型转换基础 (04:35)
11 操作符基础 (05:44)
12 数组的创建和初始化 (13:59)
13 枚举数组元素的方法 (05:05)
14 增加和删除数组元素 (06:17)
15 字典(Dictionary) (27:26)
16 条件语句(if、switch) (24:32)
17 循环语句(for、while) (11:03)
18 函数(1) (12:00)
19 函数(2) (32:55)
20 闭包表达式 (21:44)
21 尾随闭包 (14:29)
22 闭包捕获变量(常量) (07:29)
23 枚举类型(1):基础知识 (08:44)
24 枚举类型(2):添加与枚举成员相关的值 (11:46)
25 枚举类型(3):设置枚举类型的原始值 (15:02)
26 类与结构体的定义与实例创建 (11:35)
27 值类型和引用类型 (15:11)
28 如何判断两个变量(常量)是否引用了同一个类对象 (06:30)
29 存储属性 (14:20)
30 可读写的计算属性 (14:47)
31 只读计算属性 (06:46)
32 属性观察器 (08:15)
33 静态属性 (07:44)
34 方法基础 (04:07)
35 方法的局部参数名和外部参数名 (08:35)
36 self关键字 (06:09)
37 方法的变异(mutating) (10:29)
38 类型方法 (05:33)
39 没有参数的构造器 (05:07)
40 构造器的内部参数和外部参数 (06:56)
41 构造器重载 (04:46)
42 默认构造器和存储属性初始化 (11:51)
43 类的析构器 (02:48)
44 结构体的逐一成员构造器(结构体的默认构造器) (07:51)
45 为类和结构体增加下标(Subscript)操作 (10:01)
46 类的继承 (08:49)
47 重写方法 (05:08)
48 重写属性 (07:26)
49 重写属性观器 (06:52)
50 阻止重写方法和属性 (03:33)
51 便利构造器与默认参数值 (12:32)
52 构造器和便利构造器的继承规则 (11:04)
53 为什么子类构造器必须调用父类的构造器 (09:24)
54 ARC机制 (05:47)
55 循环强引用 (12:45)
56 使用弱引用解决循环引用死锁问题 (06:45)
57 无主引用 (08:30)
58 闭包、强引用和对象释放 (11:51)
59 使用可选链访问属性 (04:50)
60 使用可选链访问方法 (05:16)
61 使用可选链方法下标 (06:15)
62 多层连续调用可选链 (04:34)
63 对方法返回值使用可选链 (02:58)
64 类型检测(is关键字) (03:56)
65 类型强行转换(as关键字) (08:59)
66 AnyObject类型 (04:25)
67 Any类型 (08:29)
68 扩展概述 (05:13)
69 扩展计算属性 (11:35)
70 扩展构造器 (05:51)
71 扩展方法 (05:44)
72 扩展下标 (08:38)
73 扩展嵌套类型 (08:32)
74 协议(Protocol)简介 (02:31)
75 实现协议中的属性 (10:01)
76 实现协议中的方法 (07:51)
77 实现协议中的突变方法 (03:42)
78 协议的作用 (07:10)
79 用扩展向类型添加协议 (04:19)
80 通过扩展补充协议声明 (03:37)
81 集合中的协议 (04:58)
82 协议的继承 (04:07)
83 协议合成 (07:18)
84 可选协议 (09:01)
85 为什么要在Swift语言中引入泛型 (04:25)
86 泛型函数 (05:37)
87 类型参数 (05:19)
88 用泛型实现Stack (07:45)
89 扩展Stack (04:13)
90 对泛型进行类型约束 (06:25)
91 关联类型 (04:39)
92 用where子句进一步约束类型 (13:29)
93 高级操作符:按位取反 (05:23)
94 高级操作符:按位与 (02:49)
95 高级操作符:按位或 (02:35)
96 高级操作符:按位异或 (02:49)
97 高级操作符:按位左移和按位右移 (17:24)
98 高级操作符:值的上溢出 (05:00)
99 高级操作符:值的下溢出 (03:54)
100 高级操作符:零溢出 (01:46)
101 运算符的优先级和结合性 (03:24)
102 二元操作符函数(二元操作符重载) (08:36)
103 一元操作符函数(一元操作符函数重载) (03:17)
104 自加(++)和自减(--)操作符函数 (16:12)
105 组合操作符(+=、-=等)函数 (03:59)
106 等值操作符(==和!=)函数 (04:46)
107 自定义操作符(据说是Swift语言中最牛逼的功能之一) (12:26)
108 为自定义操作符指定结合性和优先级 (05:18)
109 swift语言到底能做神马东西 (19:10)
110 用swift编写一个可以浏览网页的APP (14:53)