章节1: 1-课程简介 课时1 视频 1-1课程简介+随堂素材+学习方法 08:05 可章节2: 2-iOS开发准备和Xcode 课时2 视频 2-1开发前的准备-硬件+软件+配置 09:01 可课时3 视频 2-2Xcode欢迎页+创建项目 13:51课时4 视频 2-3Xcode主题+导航栏+文件后缀名 11:07课时5 视频 2-4Storyboard初探 09:08课时6 视频 2-5控制台+运行项目 05:38章节3: 3-人生第一个App-赏月App 课时7 视频 3-1颜色 06:27 可课时8 视频 3-2图片视图ImageView 10:30课时9 视频 3-3制作App图标+背景图 12:38课时10 视频 3-4一些细节和常用快捷键 06:46课时11 视频 3-5真机调试 07:04课时12 视频 3-6真机调试时的iOS版本问题 08:09课时13 视频 3-7无线连接iPhone+免费开发者账号的限制 06:41章节4: 4-游戏App-摇骰子App 课时14 视频 4-1学习编程的正确姿势+项目概览 03:04 可课时15 视频 4-2制作App的UI 10:08课时16 视频 4-3按钮Button 13:02课时17 视频 4-4IBAction和IBOutlet 12:46课时18 视频 4-5常见的连线错误和InterfaceBuilder 12:05课时19 视频 4-6用代码修改ImageView的图片 10:54课时20 视频 4-7随机数+变量初探 08:32课时21 视频 4-8强类型语言Swift的类型安全 06:55课时22 视频 4-9在字符串中插入变量-字符串插值 06:37课时23 视频 4-10Swift基本类型+类型推断 13:56课时24 视频 4-11变量和常量 11:23课时25 视频 4-12对应项目巩固Swift语法 05:10课时26 视频 4-13由基本类型组合而成的复合类型-数组 09:14课时27 视频 4-14利用数组优化项目+数组越界错误 08:37课时28 视频 4-15函数初探 13:18课时29 视频 4-16手机摇一摇功能 10:42章节5: 5-Swift语言-入门 课时30 视频 5-1注释 07:17 可课时31 视频 5-2打印-print和debugPrint 10:03课时32 视频 5-3函数的参数 14:55课时33 视频 5-4函数的返回值 14:23课时34 视频 5-5控制流-if,else,elseif 15:21课时35 视频 5-6一个计算BMI的函数 08:59课时36 视频 5-7条件分支ifelse的特性 05:56课时37 视频 5-8功能优化-使用变量从而统一返回 04:30课时38 视频 5-9功能优化-四舍五入和幂运算 07:31课时39 视频 5-10函数的外部参数和内部参数 12:24课时40 视频 5-11for循环-数组类复合数据 08:58课时41 视频 5-12for循环-整数区间+where和取余运算 08:42章节6: 6-音乐App-木琴App 课时42 视频 6-1项目概览+新版UIButton右侧属性面板的特性 07:58 可课时43 视频 6-2UIButton的image和backgroundImage 08:18课时44 视频 6-3连接IBAction的技巧 06:36课时45 视频 6-4IBAction函数的sender参数+利用tag属性区分是哪个按钮 12:52课时46 视频 6-5往Xcode项目中添加文件 10:52课时47 视频 6-6Xcode中的group 09:08课时48 视频 6-7创建音频播放器并播放本地音频 12:41课时49 视频 6-8需长期存在的播放器+group和文件路径的关系 14:11课时50 视频 6-9用数组实现动态播放+项目优化 12:11章节7: 7-机型适配-自动布局AutoLayout 课时51 视频 7-1preview窗口+UI控件的四个布局属性 06:24 可课时52 视频 7-2数学里的坐标系 04:14课时53 视频 7-3iOS开发里的坐标系+UI控件的X和Y属性 13:25课时54 视频 7-4在父视图中的水平垂直居中约束-内部无内容的view 14:03课时55 视频 7-5修改约束的面板 04:38课时56 视频 7-6在父视图中的水平垂直居中约束-内部自带内容的view 02:36课时57 视频 7-7更新布局属性(frame)以适应当前约束+启动页 11:59课时58 视频 7-8iOS默认布局机制 06:03课时59 视频 7-9视图矩形的四边约束 11:14课时60 视频 7-10布局安全区域safearea 05:55课时61 视频 7-11相对苹果推荐间距做约束Constrain to margins 09:06课时62 视频 7-12未做约束时的黄色警告+小结 05:37课时63 视频 7-13设置下部按钮和背景imageView的约束 12:46课时64 视频 7-14设置骰子imageView的约束+设哪个边的约束的技巧 08:39课时65 视频 7-15内部自带内容的view关于宽度约束的黄色警告 07:36课时66 视频 7-16UI控件之间的上下左右对齐 14:10课时67 视频 7-17[了解]系统提供的解决自动布局问题的方案 04:19课时68 视频 7-18布局利器stackView 10:11课时69 视频 7-19UIButton的Tint和内边距 14:52课时70 视频 7-20stackView的alignment和distribution+一些注意点 17:56课时71 视频 7-21抗拉伸优先级+抗压缩优先级 11:53课时72 视频 7-22嵌套stackView 06:37课时73 视频 7-23等高等宽约束+约束的乘数multiplier 10:36课时74 视频 7-24内部stackView调整+label的行数自适应 08:55课时75 视频 7-25约束知识拾遗 15:02课时76 视频 7-26在info列表中让应用只支持竖屏 08:09课时77 视频 7-27横屏的简单适配+四边约束的本质 15:39章节8: 8-益智App-趣味问答App 课时78 视频 8-1项目的基本配置+居中型控件的约束技巧 07:21 可课时79 视频 8-2stackView布局技巧 12:50课时80 视频 8-3深色模式下的颜色和图片适配 12:02课时81 视频 8-4AccentColor+固定Xcode上部标签 09:21课时82 视频 8-5类和对象+类的本质是类型 10:40课时83 视频 8-6类的实例化+初始化构造器+self 13:20课时84 视频 8-7Swift中的具体数据几乎都是对象 05:30课时85 视频 8-8创建Question类和对象数组 08:33课时86 视频 8-9拆解项目功能+显示第一个问题 11:45课时87 视频 8-10判断用户的回答是否正确 08:40课时88 视频 8-11利用全局变量显示下一题+在页面中的查找和替换 12:19课时89 视频 8-12调试技巧+回答完所有问题后的reset 10:16课时90 视频 8-13MVC模式+面向对象编程OOP 13:44课时91 视频 8-14弹出框UIAlertController+闭包的简单理解 16:09课时92 视频 8-15制作弹出框页面 10:22课时93 视频 8-16弹出弹出框 10:16课时94 视频 8-17闭包的参数+再来一遍功能+代码优化 13:37课时95 视频 8-18根据用户的回答计算得分 16:43课时96 视频 8-19显示当前问题序号+代码顺序 15:09课时97 视频 8-20约束对象+屏幕的宽度 13:06课时98 视频 8-21改变约束对象的constant属性完成进度条功能 13:20课时99 视频 8-22得分数据的reset+代码优化 10:19课时100 视频 8-23用GitHub上别人写好的代码完成提示框功能 13:06课时101 视频 8-24类方法和静态方法初探+系统即将弃用的API 10:31章节9: 9-Swift语言-渐入佳境课时102 视频 9-1类的继承+Swift文档 15:09课时103 视频 9-2方法的重写 08:10课时104 视频 9-3指定构造器和便利构造器 14:25课时105 视频 9-4枚举类型 09:33课时106 视频 9-5枚举的原始值+枚举的简写 10:50课时107 视频 9-6可选类型 13:09课时108 视频 9-7强制解包 07:08课时109 视频 9-8可选绑定-iflet和guard 10:57课时110 视频 9-9隐式可选类型+一些小知识 10:53章节10: 10-和风天气App课时111 视频 10-1项目需求分析+系统自带图标SFSymbols 11:15课时112 视频 10-2利用系统自带动态颜色自动适配深色模式 05:30课时113 视频 10-3天气图标ImageView+城市Label 05:53课时114 视频 10-4中文输入法下使用英文标点+Label的文字自适应 06:07课时115 视频 10-5ImageView的contentMode+视图叠放顺序 11:37课时116 视频 10-6比例宽度+App初始页面 11:09课时117 视频 10-7启动页+查看控件的属性和方法 06:20课时118 视频 10-8请求用户授权获取当前位置 11:58课时119 视频 10-9代理delegate和协议protocol 10:26课时120 视频 10-10在delegate方法中获取经纬度+配置模拟器的位置 08:46课时121 视频 10-11和风天气API+通过网络请求获取资源 12:18课时122 视频 10-12安装cocoapods命令行工具 07:36课时123 视频 10-13安装第三方功能包前的准备+生成podfile 14:45课时124 视频 10-14用cocoapods安装第三方功能包+一些注意点 14:44课时125 视频 10-15利用和风API获取当前位置的天气信息 13:04课时126 视频 10-16ATS+代码的异步执行 09:38课时127 视频 10-17字典Dictionary 06:05课时128 视频 10-18利用SwiftyJSON解析出JSON类型的数据 14:49课时129 视频 10-19把获取到的天气数据显示到页面上去 11:16课时130 视频 10-20创建Weather模型+MVC实际使用 11:11课时131 视频 10-21获取用户当前所在的城市 08:51课时132 视频 10-22类型转换+as 15:26课时133 视频 10-23创建页面对应的class+prepareForSegue 08:51课时134 视频 10-24把当前城市信息传到第二个页面-正向传值 12:25课时135 视频 10-25自定义protocol和delegate-反向传值 17:09课时136 视频 10-26通过搜索获取用户想查询的城市名 10:33课时137 视频 10-27通过城市id获取当前城市的天气 07:50课时138 视频 10-28UITextField优化-验证用户的输入 09:19课时139 视频 10-29用Extension分离功能块+封装函数 14:04课时140 视频 10-30API请求地址及参数的优化 08:02章节11: 11-待办事项App 课时141 视频 11-1项目需求分析+无处不在的tableView 08:35 可课时142 视频 11-2UITableViewController 13:14课时143 视频 11-3UITableViewDataSource和UITableViewDelegate 09:26课时144 视频 11-4利用系统自带的样式做一个简单的tableView 11:03课时145 视频 11-5原型单元格cell的重用+其余自带样式+分离出cell的ID 08:45课时146 视频 11-6系统自带图标SF Symbols 09:56课时147 视频 11-7cell的高度自适应+布局小技巧 13:12课时148 视频 11-8创建UITableViewCell子类以动态配置数据 07:15课时149 视频 11-9Struct初探+创建数据模型 08:46课时150 视频 11-10cell的位置信息indexPath 08:40课时151 视频 11-11在cell加载时设定打勾按钮被选中之后的图标 09:48课时152 视频 11-12根据初始数据配置cell中的视图 07:25课时153 视频 11-13用代码给动态cell中的按钮加点击事件 07:04课时154 视频 11-14切换待办事项的状态+值类型初探+代码优化 14:28课时155 视频 11-15UITableView知识点拾遗 09:12课时156 视频 11-16NavigationController+push型页面跳转 10:54课时157 视频 11-17push/show跳转的本质是压栈+大标题 09:01课时158 视频 11-18navigationItem的返回按钮+静态tableView 13:52课时159 视频 11-19barButtonItem+设置系统自带图标的大小 14:55课时160 视频 11-20多行文本输入框UITextView 08:02课时161 视频 11-21反向传值+UITextView隐式可选的text属性 08:59课时162 视频 11-22在tableView中添加新行-insertRows方法 08:12课时163 视频 11-23利用UITextViewDelegate和performBatchUpdates做实时换行 14:03课时164 视频 11-24模拟器软键盘的约束bug+统一调整barButtonItem的图标颜色 06:13课时165 视频 11-25点击cell触发的回调函数+找到IB上的vc对象+用代码push跳转 15:27课时166 视频 11-26cell的accessory+取消选择cell+在IB上点击cell跳转 07:00课时167 视频 11-27cell和indexPath间的转换+动态正向传值 14:40课时168 视频 11-28编辑待办事项+tableView的reloadData 16:34课时169 视频 11-29左滑删除 11:05课时170 视频 11-30简单的本地化操作+自定义删除按钮文本+代码优化 07:38课时171 视频 11-31[2021.12.19更]系统自带的editButtonItem 09:33课时172 视频 11-32点击editButtonItem触发的回调函数+判断编辑状态isEditing 09:49课时173 视频 11-33点击editButtonItem后出现的重新排序按钮+移动数组中的元素 10:16课时174 视频 11-34移动待办事项+UI优化 09:29课时175 视频 11-35回调函数+interfaceBuilder+手动设置isEditing属性 07:13课时176 视频 11-36去除编辑状态下删除按钮editingStyle+去除缩进 15:37课时177 视频 11-37解决左滑删除消失和移动后点击checkBox错位的问题 14:15课时178 视频 11-38用addTarget替换addAction以减少逻辑复杂度及bug 16:31课时179 视频 11-39分析当前项目的不足点+持久化存储的必要性 05:01章节12: 12-本地存储课时180 视频 12-1本地存储和网络存储+UserDefaults+单例 09:10课时181 视频 12-2UserDefaults只可存储plist类型的对象+沙盒 12:59课时182 视频 12-3JSON编码+Codable协议 12:23课时183 视频 12-4增删改后存数据到本地+加载时从本地取数据+JSON解码 12:43课时184 视频 12-5实例化空数组和空字典+项目测试 10:10课时185 视频 12-6CoreData自带代码-加载持久化容器和保存数据 15:14课时186 视频 12-7Entity+Attribute+被托管的对象 08:25课时187 视频 12-8新增待办事项并存入本地数据库 10:52课时188 视频 12-9SQLite数据库+CoreData的桥梁作用 10:55课时189 视频 12-10删除待办事项后更新本地数据库 11:03课时190 视频 12-11编辑待办事项后更新本地数据库+从本地取数据 11:49课时191 视频 12-12主键+Int16+添加属性时的自动迁移 11:31课时192 视频 12-13移动cell后给todo对象的排序属性赋当前row的值 05:05课时193 视频 12-14CoreData取数据时的排序+检查其他操作时的代码合理性 10:30课时194 视频 12-15App的生命周期-AppDelegate和SceneDelegate 17:00课时195 视频 12-16vc的生命周期初探+其余小知识 07:53章节13: 13-在AppStore上架App课时196 视频 13-1收费的苹果开发者账号+Xcode和开发者后台的同步 08:44课时197 视频 13-2在开发者后台的AppStoreConnect中创建App 08:12课时198 视频 13-3签名+证书+把当前版本提交至AppStoreConnect 13:26课时199 视频 13-4填写App信息、价格、App隐私等以提交审核 16:52