iOS我的云音乐项目实战Swift版
立即购买
第1章 课程和项目简介 第1节 课程简介和常见问题 免费 第2节 项目功能演示 免费 第3节 人生苦短,我们只做好课 免费 第4节 更好的学习方法(请勿跳过) 第5节 学习遇到问题了,如何解决?(请勿跳过) 第6节 如何有效的提问(请勿跳过) 免费 第7节 视频电子书源码资源如何配合学习 第8节 课程勘误/更新汇总说明 第2章 课程代码和资源使用方法 第1节 课程代码和资源简介(请勿跳过) 第2节 项目代码使用方法(请勿跳过) 第3节 如何查看代码和资源Git提交历史 第4节 设计资源使用方法 第3章 快速入门Postman工具 第1节 什么是Postman 第2节 Mac电脑安装Postman 第3节 接口的导入和导出 第4节 Postman的基础使用 第4章 版本控制概念和环境搭建 第1节 什么是版本控制系统 第2节 有哪些版本控制系统 第3节 什么是Git版本控制 第4节 如何macOS系统上安装Git 第5章 快速入门Git版本控制系统 第1节 获取Git使用帮助 第2节 如何配置Git 第3节 创建一个Git仓库 第4节 将文件添加到Git中 第5节 如何修改文件并提交到Git 第6节 如何从Git还原文件 第7节 多学一点Git 第8节 iOS项目Git忽略文件配置 第6章 有哪些Git可视化工具 第1节 有哪些Git可视化工具 第2节 GitFork查看提交历史 第7章 快速入门Github使用方法 第1节 什么是Github? 第2节 一般都是用Github做什么? 第3节 如何搜索需要的资源 第4节 如何下载仓库源码? 第5节 如何收藏一个项目 第6节 获取仓库信息和帮助 第8章 创建项目和依赖管理 第1节 Xcode如何创建项目 第2节 什么是Ruby语言 第3节 macOS上使用RVM安装Ruby 第4节 什么是CocoaPods 第5节 CocoaPods安装 第6节 添加CocoaPods依赖管理 第7节 如何给CocoaPods设置代理 第8节 如何更新CocoaPods仓库 第9章 快速入门Xcode 第1节 认识Mac键盘修饰键 第2节 Xcode常用快捷键 第10章 启动界面和引导界面 第1节 启动页功能分析 免费 第2节 实现启动界面 免费 第3节 常见Xcode问题解决方法 免费 第4节 实现第二个启动界面 免费 第5节 如何跳转到引导界面 免费 第6节 AppDelegate添加获取实例方法 免费 第11章 继续实现引导界面 第1节 更改项目Bundle ID 第2节 启动引导广告界面效果演示 第3节 实现引导界面按钮 第4节 重构引导界面按钮尺寸 第5节 重构圆角和边框逻辑 第6节 重构iOS使用颜色 第7节 全局颜色共享 第12章 完善引导界面逻辑 第1节 实现引导界面按钮逻辑 第2节 实现跳转到登录注册界面 第3节 实现跳转到首页界面 第4节 Swift项目引用OC框架 第5节 使用源码方式引用框架 第6节 实现引导界面轮播图 第13章 实现引导界面轮播图 第1节 重构引导控制器轮播图 第2节 重构创建Storyboard实例 第3节 Xcode注释使用技巧 第4节 如何使用iOS偏好设置 第5节 保存是否显示了引导界面 第14章 用户登录注册 第1节 给登录注册界面添加导航控制器 第2节 登录注册找回密码效果演示 第3节 实现用户登录注册界面 第4节 实现登录注册按钮 第5节 实现按钮按下改变颜色 第6节 修复登录注册按钮颜色问题 第7节 如何实现按钮点击事件 第8节 实现第三方登录按钮布局和事件 第15章 用户登录和注册 第1节 如何跳转到注册界面 第2节 实现注册界面布局 第3节 给控件添加规则 第4节 关联注册界面控件 第5节 实现输入框左侧添加图标 第6节 实现通用Controller 第7节 添加全局提示功能 第8节 用户注册参数校验 第16章 快速入门测试驱动开发 第1节 什么是测试驱动开发 第2节 iOS中的测试驱动开发 第3节 测试驱动开发一般步骤 第4节 使用测试驱动方法实现手机号格式判断 第5节 实现手机号格式判断 第6节 实现文件大小格式化 第7节 单元测试总结 第17章 如何实现用户注册功能 第1节 重构用户注册规则 第2节 完善用户注册规则校验 第3节 使用Xcode调试项目 第18章 快速入门响应式编程 第1节 什么是响应式编程 第2节 如何集成RxSwift框架 第19章 如何在iOS中请求网络 第1节 项目中网络请求实现概述 第2节 如何允许HTTP请求 第3节 配置网络请求相关地址 第4节 集成Moya网络框架 第5节 配置Moya网络框架 第6节 如何使用Moya请求网络 第20章 继续实现网络请求 第1节 网络请求错误处理 第2节 如何在Moya中使用插件 第3节 如何显示请求对话框 第4节 使用RxSwift方式请求网络 第5节 创建歌单模型对象 第6节 将JSON字符串解析为对象 第7节 扩展RxSwift添加解析对象方法 第21章 封装网络请求 第1节 如何封装网络请求响应数据 第2节 如何解析详情网络请求 第3节 列表网络请求封装 第4节 如何解析列表网络请求 第5节 如何封装网络请求流程 第6节 如何封装Provider为单例 第7节 封装网络请求Provider 第22章 继续实现网络封装 第1节 封装自动处理请求错误思路 第2节 实现自定义观察方法 第3节 测试封装的网络请求 第4节 实现请求自动错误处理 第5节 测试网络错误处理 第6节 使用网络请求日志插件 第7节 如何实现网络请求加载提示 第8节 使用RxSwift封装了网络请求的好处 第23章 如何实现用户登录注册 第1节 实现用户注册 第2节 注册后自动登录 第3节 如何保存登录信息 第4节 登录完成跳转到首页 第5节 启动页面添加登录判断 第6节 如何实现跳转到登录界面 第7节 实现用户登录界面 第8节 关联用户登录界面控件 第24章 增强用户登录 第1节 实现手机号登录 第2节 重构登录逻辑 第3节 实现邮箱登录 第4节 第三方登录相关概念 第5节 第三方登录流程 第6节 如何创建QQ第三方登录应用 第7节 如何创建ShareSDK应用 第25章 继续实现第三方登录 第1节 如何集成ShareSDK 第2节 初始化ShareSDK和配置 第3节 修复运行到真机错误 第4节 实现QQ第三方登录 第5节 第三方登录流程介绍 第6节 实现补充用户信息界面 第7节 注册时带上第三方登录信息 第26章 增强第三方登录 第1节 完成第三方登录 第2节 其他平台第三方登录方法 第3节 微博开发平台创建应用 第4节 配置微博应用信息 第5节 实现微博登录 第6节 对接微博登录补充用户资料 第7节 重构第三方登录逻辑 第27章 实现找回密码功能 第1节 找回密码相关功能演示 第2节 实现找回密码界面 第3节 如何实现找回密码 第4节 实现验证码倒计时效果 第5节 如何发送短信验证码 第6节 如何发送邮箱验证码 第7节 用户相关功能总结 第28章 快速网络抓包 第1节 网络抓包概述 第2节 如何安装Charles抓包软件 第3节 使用Charles抓Mac电脑请求包 第4节 如何抓iPhone模拟器请求包 第5节 使用Charles抓手机请求包 第6节 iPhone手机如何配置代理 第7节 使用Charles抓HTTPS请求包 第8节 使用Charles抓iPhone HTTPS请求包 第29章 实现项目主界面框架 第1节 快速实现首页TabBar框架 第2节 完善首页TabBar框架 第3节 添加发现界面控制器 第4节 实现用户退出 第30章 快速入门iOS屏幕适配 第1节 iPhone组件常用尺寸 第2节 如何获取iOS状态栏导航栏等高度 第3节 iPhone手机屏幕尺寸 第4节 屏幕尺寸/分辨率/像素密度/缩放 第5节 屏幕适配原理和实例 第6节 为什么需要1/2/3倍图 第31章 如何实现启动页广告 第1节 应用中添加广告简介 第2节 实现跳转到广告界面 第3节 实现启动页广告界面 第4节 关联界面控件和事件 第5节 如何更改状态栏颜色 第6节 实现广告页面交互 第7节 点击广告如何打开 第8节 首页如何打开广告 第9节 重构打开广告界面 第10节 注册界面添加用户协议 第32章 登录注册到首页界面 第1节 如何配置导航栏 第2节 重构导航栏设置方法 第3节 如何隐藏导航栏 第4节 登录界面适配iPhone X 第5节 重构导航栏隐藏 第6节 修复登录界面相关问题 第33章 在iOS如何编写UI测试 第1节 如何编写测试计划 第2节 通过录制方式创建UI测试 第3节 更改默认生成测试代码 第4节 UI相关测试总结 第5节 修复使用CocoaPod后UI测试问题 第34章 实现发现界面 第1节 快速入门CollectionView 第2节 搞懂CollectionView间隔 第3节 实现一个等间距3列列表 第4节 CollectionView如何添加头部 第5节 如何实现发现页面轮播图 第6节 实现轮播图显示网络数据 第7节 美化轮播图框架 第35章 继续实现发现页面 第1节 实现首页轮播图点击 第2节 重构发现页面头部 第3节 实现发现页面头部按钮 第4节 实现头部按钮点击事件 第5节 动态显示每日推荐日期 第6节 重新设置发现页面头部高度 第7节 重构发现界面列表 第36章 实现发现页面歌单 第1节 如何显示歌单数据 第2节 从网络请求歌单数据 第3节 完成歌单界面 第4节 歌单显示数据 第5节 重构图片显示 第6节 重新计算歌单高度 第7节 重构通用CollectionViewCell 第37章 完善首页发现页面 第1节 请求单曲列表数据 第2节 显示单曲列表Cell 第3节 完成单曲Cell数据显示 第4节 美化发现界面 第5节 如何给导航栏添加按钮 第6节 导航添加搜索按钮 第7节 如何自定义CollectionView布局 第38章 实现歌单详情 第1节 点击歌单跳转到歌单详情 第2节 实现歌单详情歌曲列表 第3节 修复UITableView分割线问题 第4节 请求网络歌单数据 第5节 实现歌曲Cell 第6节 自定义UITableView选中状态 第7节 传递用户登录标识 第39章 继续实现歌单详情 第1节 重构通用TableViewCell 第2节 UITableView如何显示头部 第3节 完成歌单详情头部布局 第4节 继续实现歌单详情头部布局 第5节 关联控件和事件 第6节 如何显示歌单详情数据 第7节 重构通用TableView头部 第8节 显示歌单收藏状态 第40章 完善歌单详情功能 第1节 头部点击事件处理 第2节 实现歌单收藏和取消收藏 第3节 实现歌单详情背景 第4节 如何实现导航栏状态栏透明 第5节 修复歌单详情背景问题 第6节 更好的修复歌单详情背景问题 第41章 实现歌单详情跳转到其他界面 第1节 实现歌单详情按钮组圆角 第2节 歌单详情跳转到评论列表 第3节 歌单详情跳转到用户详情 第4节 右上角添加菜单按钮 第42章 如何实现音乐播放 第1节 音乐播放实现概述 第2节 点击歌曲跳转到简单播放界面 第3节 实现简单播放界面 第4节 关联控件和方法 第5节 音乐播放相关逻辑实现分析 第6节 实现音乐播放管理器单例 第7节 实现音乐播放暂停 第43章 继续实现音乐播放管理器 第1节 使用音乐播放管理器 第2节 如何显示播放状态 第3节 如何使用播放代理 第4节 如何显示音乐总进度 第5节 如何显示音乐播放进度 第6节 界面上显示播放进度 第7节 实现音乐进度拖拽 第8节 修复进度条拖拽问题 第44章 如何实现播放列表 第1节 创建播放列表管理器 第2节 在播放列表管理器中播放音乐 第3节 完成播放列表管理器 第4节 实现播放列表循环模式 第5节 实现下一曲上一曲 第6节 实现自动播放下一曲和单曲循环 第7节 如何显示播放列表 第45章 增强音乐播放器 第1节 播放点击的这音乐 第2节 歌单详情显示播放状态 第3节 界面显示音乐信息 第4节 隐藏和显示播放状态 第5节 播放列表选中当前播放的音乐 第6节 歌单详情选中播放的音乐 第7节 音乐播放列表删除交互 第46章 继续实现播放相关逻辑 第1节 完成播放列表音乐删除 第2节 歌单详情显示音乐播放动画 第3节 重构显示播放动画 第4节 实现发现页面显示播放状态 第5节 如何实现后台播放音乐 第6节 如何监听应用前后台状态 第7节 修复重新设置代理不回调问题 第47章 iOS媒体控制中心 第1节 通知中心和媒体控制中心演示 第2节 显示歌曲信息到媒体控制中心 第3节 如何响应媒体中心的控制 第4节 修复播放界面信息不同步问题 第5节 实现iPhone有线耳机控制 第6节 蓝牙耳机如何使用 第7节 测试蓝牙耳机控制 第8节 监听其他音频中断 第9节 测试拨打或接听电话 第48章 如何持久化播放列表 第1节 持久化播放列表概述 第2节 集成数据库框架 第3节 数据库框架快速入门 第4节 查看数据库相关信息 第5节 如何查看数据库数据 第6节 保存播放列表实现概述 第7节 创建保存歌曲数据对象 第49章 继续实现持久化播放列表 第1节 封装数据库操作 第2节 如何保存最后播放的音乐 第3节 从数据库恢复播放列表 第4节 从数据库播放列表删除音乐 第50章 完善音乐播放框架 第1节 歌词数据接口和数据格式 第2节 从网络请求歌词 第3节 如何播放发现界面单曲 第51章 实现黑胶唱片界面 第1节 跳转到黑胶唱片界面 第2节 黑胶唱片界面分析 第3节 实现背景和高斯模糊 第4节 如何实现导航栏透明 第5节 播放界面右上角添加按钮 第6节 实现播放相关界面 第7节 关联播放相关控件 第52章 继续实现黑胶唱片界面 第1节 对接音乐播放功能 第2节 监听播放界面前后台事件 第3节 实现歌曲切换和播放模式 第4节 如何显示播放列表 第5节 如何显示一个底部弹窗 第6节 实现音乐播放列表 第7节 播放点击的这首音乐 第8节 高亮当前播放的这首音乐 第53章 完善音乐播放逻辑 第1节 实现黑胶唱片列表 第2节 设置黑胶唱片间距和尺寸 第3节 实现黑胶唱片Cell布局 第4节 显示黑胶唱片数据 第5节 滚动到当前音乐黑胶唱片 第6节 实现歌曲拖拽播放 第54章 继续实现黑胶唱片 第1节 实现旋转黑胶唱片分析 第2节 添加实现SwiftEventBus框架 第3节 分发黑胶唱片旋转和停止旋转事件 第4节 实现旋转黑胶唱片 第5节 如何实现手动切换黑胶唱片 第6节 实现手动切换黑胶唱片 第7节 修复切换黑胶唱片问题 第55章 完善黑胶唱片功能 第1节 显示黑胶唱片指针 第2节 实现黑胶唱片指针旋转 第3节 修复黑胶唱片指针旋转问题 第56章 实现音乐歌词的解析 第1节 歌词实现步骤概述 第2节 音乐歌词分类 第3节 歌词解析实现分析 第4节 使用测试驱动方法解析LRC歌词 第5节 完成LRC歌词解析 第6节 更改歌词模型 第7节 KSC歌词解析测试 第57章 继续实现歌词 第1节 解析KSC歌词 第2节 实现黑胶唱片和歌词的切换 第3节 添加歌词列表控件 第4节 如何根据播放时间滚动歌词 第5节 如何高亮正在播放的LRC歌词 第6节 如何让歌词前面后面都有一些空行 第7节 如何精确计算占位数 第8节 修复第一次显示歌词和歌手头像问题 第9节 如何实现音乐无歌词提示 第58章 进阶音乐歌词 第1节 如何实现歌词拖拽效果 第2节 完成歌词拖拽效果 第3节 实现拖拽歌词相关功能 第4节 实现从当前歌词播放 第5节 修复歌词滚动位置问题 第6节 如何实现KSC歌词高亮 第7节 更改为自定义控件绘制歌词 第59章 完善音乐歌词 第1节 实现自定义控件绘制LRC歌词 第2节 将时间信息传递到自定义歌词View 第3节 实现KSC歌词绘制 第4节 完成KSC歌词绘制 第5节 如何重构歌词绘制架构 第60章 与播放相关的周边功能 第1节 长按封面显示封面大图 第2节 实现背景和封面的显示 第3节 如何保存图片到相册 第4节 实现歌词长按跳转到选择歌词界面 第5节 实现歌词选择界面 第6节 实现歌词选中效果 第7节 获取选中的歌词文本 第61章 如何实现歌词分享 第1节 实现歌词文本分享 第2节 跳转到分享歌词图片界面 第3节 实现分享歌词图片界面 第4节 实现分享歌词图片 第5节 实现保存歌词图片到相册 第62章 实现评论相关功能 第1节 评论相关功能效果演示 第2节 实现评论列表界面 第3节 从网络请求评论数据 第4节 如何实现评论Cell自动高度 第5节 实现评论列表Cell界面 第6节 如何格式化评论日期时间 第7节 实现评论列表分组 第8节 自定义分组标题 第63章 继续实现评论列表 第1节 如何实现下拉刷新上拉加载更多 第2节 安装下拉刷新框架 第3节 查看评论列表分页接口功能 第4节 实现实现下拉刷新上拉加载更多 第5节 显示评论数量到标题 第6节 如何显示Mention和HashTag 第7节 添加YYText框架 第8节 通过正则实现查找Mention 第64章 继续实现评论列表 第1节 通过正则实现查找HashTag 第2节 重构正则表达式查找方法 第3节 实现评论关键内容高亮 第4节 使用YYLabel显示评论内容 第5节 如何让YYLabel高度自适应 第6节 给高亮内容添加点击事件 第7节 如何获取点击的评论文本 第65章 增强评论列表相关功能 第1节 将点击事件代理到控制器 第2节 实现点击Mention跳转到用户详情 第3节 实现点击话题跳转到话题详情 第4节 如何显示被回复的评论 第5节 更改布局实现显示回复的评论 第6节 修复没有被回复的评论间歇问题 第66章 实现发布评论相关功能 第1节 实现发布评论输入框 第2节 如何监听键盘发送事件 第3节 调用接口发布评论 第4节 输入框如何显示提示文本 第5节 如何实现键盘自动移动 第6节 显示评论更多操作对话框 第67章 完善评论列表功能 第1节 回复一条评论 第2节 如何实现拷贝评论 第3节 如何实现评论点赞 第4节 添加评论点赞接口 第5节 实现评论点赞功能 第6节 实现点击评论用户头像功能 第68章 实现评论列表选择话题 第1节 实现跳转到选择话题界面 第2节 实现请求话题列表数据 第3节 实现显示话题列表 第4节 完成选择话题 第69章 实现评论列表选择好友 第1节 实现跳转到选择好友界面 第2节 实现请求我的好友数据 第3节 实现显示好友列表 第4节 完成选择好友 第70章 增强好友列表功能 第1节 实现好友数据分组 第2节 界面上显示分组数据 第3节 实现右侧显示首字母 第4节 如何使用搜索控制器 第5节 根据搜索过滤用户 第6节 显示搜索的用户 第71章 实现首页我的界面 第1节 创建我的界面控制器 第2节 请求我创建的歌单 第3节 实现列表界面显示 第4节 创建分组标题Cell 第5节 实现歌单列表分组 第6节 实现分组更多按钮点击 第72章 继续实现我的界面 第1节 请求我的收藏的歌单 第2节 实现歌单数据实时更新 第3节 实现跳转到创建歌单界面 第4节 调用接口完成歌单创建 第5节 实现我的页面按钮 第6节 实现Cell点击事件 第7节 实现跳转到本地音乐界面 第73章 如何优雅的实现下载功能 第1节 实现跳转到下载管理页面 第2节 下载功能实现概述 第3节 集成第三方下载框架 第4节 实现音乐的下载 第5节 完成音乐的下载 第6节 实现播放本地音乐功能 第7节 完成本地音乐界面逻辑 第8节 播放本地音乐列表中的音乐 第74章 实现本地音乐编辑功能 第1节 如何实现列表编辑 第2节 实现批量编辑界面 第3节 实现TableView批量编辑模式 第4节 实现删除多选的音乐 第5节 实现全选和反选功能 第75章 开发如何模拟不同网速 第1节 开发中如何限制网速 第2节 安装苹果官方提供的可选组件 第3节 如何使用Network Link Conditioner 第4节 iPhone真机如何限速 第76章 实现音乐下载管理 第1节 显示除下载完成的任务 第2节 自定义音乐下载Cell 第3节 实现暂停继续下载功能 第4节 实现全部辅助按钮布局 第77章 继续实现音乐下载功能 第1节 实现全部暂停继续下载功能 第2节 实现全部删除功能 第3节 实现单个下载任务删除 第4节 关于下载功能的优化 第78章 实现用户详情界面 第1节 获取用户详情数据 第2节 用户详情界面分析 第3节 添加界面用到的框架 第4节 创建用户详情头部View 第5节 创建用户详情歌单View 第6节 创建用户详情动态View 第7节 创建用户详情关于我View 第8节 实现用户详情歌单View 第79章 继续用户详情界面 第1节 实现用户详情框架结构 第2节 继续实现用户详情框架结构 第3节 实现用户详情头部布局 第4节 好友社交关系简介 第5节 实现关注取消关注用户 第6节 实现跳转到发送消息界面 第7节 实现歌单列表View 第80章 实现视频相关功能 第1节 获取视频列表数据 第2节 显示视频列表 第3节 完善视频列表 第4节 点击视频跳转到详情 第5节 分析视频详情界面布局 第6节 实现界面框架布局 第7节 关联布局中的控件 第81章 继续实现视频详情 第1节 请求视频详情数据 第2节 请求相关视频数据 第3节 请求视频评论数据 第4节 将数据进行分组 第5节 完成列表的显示 第6节 显示视频信息 第7节 安装TagView框架 第82章 完善视频详情功能 第1节 实现视频Tag显示 第2节 显示视频发布人信息 第3节 实现滚动评论顶部 第4节 显示相关视频数据 第83章 实现视频播放 第1节 视频播放实现分析 第2节 封装视频播放管理器 第3节 继续封装视频播放管理器 第4节 使用视频播放管理器 第5节 完善视频播放交互 第6节 隐藏和显示播放控制器 第7节 处理视频后台和前台逻辑 第84章 完善视频播放 第1节 如何播放本地视频 第2节 转屏功能实现概述 第3节 完成屏幕的自动旋转功能 第4节 如何监听屏幕方向 第5节 实现播放界面手动转屏 第6节 关于视频相关功能优化说明 第85章 实现用户动态 第1节 用户动态相关功能概述 第2节 安装分段控件框架 第3节 实现分段控件切换 第4节 实现动态列表框架结构 第5节 实现附近列表数据显示 第6节 请求动态数据 第7节 显示动态列表 第86章 继续实现用户动态 第1节 实现显示文本动态 第2节 重构动态列表Cell 第3节 实现显示图片动态 第4节 显示图片动态中的图片 第5节 完善图片动态Cell 第6节 安装图片预览框架 第7节 实现预览动态图片 第87章 实现发布动态 第1节 跳转到发布动态界面 第2节 实现发布动态界面 第3节 实现发布文本动态 第4节 实现文本输入框字数统计 第5节 安装图片选择框架 第6节 实现选择图片 第7节 如何显示选择的图片 第8节 实现删除选择的图片 第9节 实现添加图片按钮 第88章 继续实现发布动态 第1节 媒体资源存储概述 第2节 安装阿里云OSS SDK 第3节 实现上传图片到阿里云OSS 第4节 实现发布图片动态 第89章 如何使用高德地图 第1节 定位流程概述 第2节 如何集成高德定位SDK 第3节 获取高德地图配置信息 第4节 基础单次定位 第5节 发布动态界面显示位置 第6节 发送动态带上定位信息 第7节 动态相关功能总结 第90章 如何实现我的账号 第1节 我的账号界面实现分析 第2节 如何在Storyboard中使用ScrollView 第3节 实现账号界面设置项布局 第4节 关联账号界面控件和方法 第5节 实现用户退出功能 第6节 添加相关View点击事件 第7节 点击用户信息跳转到用户详情 第91章 继续实现我的账号界面 第1节 可视化添加导航栏按钮 第2节 显示用户资料 第3节 跳转到编辑资料页面 第4节 实现编辑资料界面 第5节 关联控件和方法 第6节 获取用户资料并显示 第7节 实现选择图片功能 第92章 继续实现更新用户资料 第1节 实现上传头像功能 第2节 配置更新用户资料接口 第3节 实现更新用户头像 第4节 更新昵称和个人介绍 第5节 添加选择器依赖 第6节 实现选择性别生日地选择 第7节 完成用户资料更新 第93章 完善用户资料更新 第1节 绑定解绑第三方账号概述 第2节 查看绑定解绑接口 第3节 实现QQ账号绑定 第4节 实现微博账号绑定 第5节 实现QQ账户解绑 第6节 实现微博账号解绑 第7节 用户相关功能总结 第94章 实现好友和粉丝功能 第1节 实现跳转到我的好友列表 第2节 如何实现粉丝列表 第3节 请求好友和粉丝数据 第4节 显示用户列表 第5节 实现跳转到添加好友列表 第95章 使用响应式编程实现用户搜索 第1节 实现用户搜索界面 第2节 添加RxCocoa框架 第3节 如何监听用户输入 第4节 调用用户接口搜索 第5节 搜索的结果如何显示 第6节 如何监听Cell点击事件 第96章 进阶响应式编程 第1节 将我的界面歌单获取改为并发 第2节 关于响应式编程的总结 第97章 实现二维码相关 第1节 实现跳转到我的二维码界面 第2节 实现我的二维码界面布局 第3节 请求用户详情数据 第4节 添加二维码框架 第5节 生成二维码概述 第6节 如何生成我的二维码 第7节 测试扫描我的二维码 第98章 实现扫码相关功能 第1节 实现跳转到扫描界面 第2节 实现扫描界面布局 第3节 扫描二维码实现分析 第4节 实现扫描二维码 第5节 实现二维码结果解析 第6节 二维码实现总结 第99章 实现商城相关功能 第1节 商城相关功能概述 第2节 实现跳转到商品列表 第3节 请求商品列表数据 第4节 显示商品列表 第5节 完善商品Cell功能 第6节 实现跳转到商品详情 第7节 实现商品详情布局 第100章 实现商品和订单功能 第1节 请求商品详情数据 第2节 如何创建订单 第3节 修复自动退出问题 第4节 创建订单后跳转到订单详情 第5节 请求订单详情数据 第6节 实现订单详情布局 第7节 关联详情界面控件和方法 第8节 显示订单详情数据 第101章 如何实现支付宝支付 第1节 什么是第三方支付 第2节 支付宝支付准备工作(服务端知识,客户端了解即可) 第3节 如何集成支付宝SDK 第4节 使用测试数据发起支付 第5节 请求支付宝支付参数 第6节 如何监听支付宝支付结果 第102章 继续实现支付宝支付 第1节 监听支付宝支付结果 第2节 请求服务端判断是否支付成功 第3节 支付支付客户端问题排查 第4节 如何集成微信支付 第5节 订单支付方式切换 第103章 继续实现订单相关 第1节 实现跳转到我的订单界面 第2节 请求订单列表数据 第3节 显示订单列表 第4节 完善订单Cell 第5节 实现点击订单进入订单详情 第6节 商城订单支付功能总结 第104章 实现账号界面的设置功能 第1节 实现点击设置进入设置界面 第2节 添加插拔耳机设置项 第3节 实现插拔耳机停止音乐 第4节 如何使用偏好设置 第5节 关于用户设置的总结 第105章 使用可视化实现关于我们 第1节 跳转到关于我们界面 第2节 可视化实现关于我们界面 第3节 显示应用版本号 第4节 如何跳转到应用的AppStore地址 第5节 使用WebView显示关于我们 第106章 使用代码实现关于我们 第1节 跳转到关于我们界面 第2节 如何安装自动布局框架 第3节 使用自动布局完成界面 第4节 完成关于我们界面 第5节 完成关于我们界面逻辑 第107章 如何拆分Storyboard 第1节 为什么要拆分Storyboard 第2节 实现关于爱学啊界面 第3节 如何在代码中操作控件 第108章 实现全局搜索控制器 第1节 全局搜索功能概述 第2节 如何导入搜索框架 第3节 创建搜索结果控制器 第4节 如何显示搜索界面 第5节 搜索结果界面如何监听搜索 第6节 如何显示热门搜索数据 第109章 继续实现搜索相关功能 第1节 查看搜索建议接口 第2节 如何显示搜索建议内容 第3节 如何对搜索建议限流 第4节 搜索结果页面实现分析 第5节 如何添加指示器框架 第6节 创建歌单用户搜索结果控制器 第7节 实现搜索结果页面框架 第110章 完成全局搜索功能 第1节 子搜索结果控制器监听搜索内容 第2节 调用歌单搜索接口 第3节 显示搜索的歌单数据 第4节 实现点击歌单进入歌单详情 第5节 调用用户搜索接口 第6节 显示搜索到的用户数据 第7节 重构搜索结果展示控制器 第8节 修复第一次搜索问题 第111章 实现项目夜间模式 第1节 夜间模式实现概述 第2节 如何实现夜间模式 第3节 整理项目夜间模式颜色 第4节 集成应用主题框架 第5节 如何使用主题框架 第6节 如何保存/恢复主题配置 第7节 实现发现界面夜间模式 第112章 继续实现夜间模式 第1节 TabBar控件夜间模式 第2节 实现发现界面头部夜间模式 第3节 实现发现Cell标题夜间模式 第4节 实现发现界面歌单夜间模式 第5节 实现发现界面单曲夜间模式 第113章 完成夜间模式相关功能 第1节 播放状态图片夜间模式 第2节 修复夜间模式下导航栏问题 第3节 夜间模式功能总结和优化 第114章 常用哈希和加密算法 第1节 什么是SHA1签名算法 第2节 添加加密算法依赖库 第3节 SHA1签名实现 第4节 什么是AES加密算法 第5节 AES加密解密实现 第115章 如何让网络接口更安全 第1节 如何让接口更安全 第2节 实现接口签名和加密概述 第3节 跳转到接口签名和加密测试界面 第4节 实现签名加密测试界面 第5节 查看签名加密的接口 第6节 实现订单列表响应签名接口 第7节 创建修改网络响应插件 第116章 继续实现接口安全 第1节 实现验证接口响应签名 第2节 测试接口响应签名 第3节 实现创建订单参数签名接口 第4节 如何实现全局请求参数签名 第5节 实现请求参数签名 第6节 测试请求参数签名 第7节 实现订单列表响应加密接口 第117章 完成接口安全相关功能 第1节 实现解密接口响应加密 第2节 实现创建订单参数加密接口 第3节 实现请求参数加密 第4节 接口安全功能总结和优化 第118章 企业级项目日志解决方案 第1节 企业级日志解决方案简介 第2节 如何集成日志框架 第3节 初探企业级日志框架 第4节 获取日志相关信息 第5节 如何定制日志规则 第6节 日志格式和自定义日志格式 第7节 如何自定义日志格式 第8节 如何使用日志Tag 第9节 日志功能总结和优化 第119章 如何集成腾讯Bugly服务 第1节 什么是腾讯Bugly服务 第2节 在腾讯Bugly后台创建应用 第3节 如何集成异常上报SDK 第4节 初始化异常上报SDK 第5节 测试异常上报功能 第6节 iOS崩溃日志分析 第7节 什么是符号表文件 第120章 完成腾讯Bugly服务 第1节 Bugly如何配置符号表 第2节 XCode如何生成dSYM文件 第3节 如何查看dSYM文件的UUID 第4节 手动生成符号表文件 第5节 手动上传符号表文件到Bugly后台 第6节 崩溃统计服务总结和优化 第121章 如何使用极光统计 第1节 为什么要添加统计 第2节 如何创建应用 第3节 集成极光统计SDK 第4节 添加页面统计事件 第5节 添加登录统计事件 第122章 完成极光统计功能 第1节 添加注册统计事件 第2节 添加购买统计事件 第3节 实现统计跳过广告统计 第4节 统计相关功能总结和优化 第123章 网络请求缓存 第1节 网络缓存功能概述 第2节 如何实现网络请求结果缓存 第3节 HTTP缓存知识 第4节 Moya如何实现请求结果缓存 第5节 网络缓存功能总结和优化 第124章 即时通讯相关 第1节 聊天相关功能演示 第2节 聊天概念和实现原理 第3节 极光聊天SDK使用步骤 第4节 集成极光聊天SDK 第5节 初始化聊天SDK 第6节 注册聊天账号 第7节 聊天账号登录 第8节 退出聊天账号 第125章 继续实现聊天相关功能 第1节 实现跳转到我的消息界面 第2节 测试聊天SDK是否集成成功 第3节 获取会话列表数据 第4节 显示我的消息列表 第5节 完成会话列表Cell 第6节 实现显示用户信息 第7节 实现点击会话进入聊天界面 第126章 增强聊天功能 第1节 完成聊天界面布局 第2节 如何显示聊天的消息 第3节 创建聊天消息Cell 第4节 如何获取聊天历史消息 第5节 实现聊天消息列表 第6节 显示文本聊天消息 第7节 实现发送文本消息 第127章 继续实现消息发送 第1节 显示自己发送的消息 第2节 如何滚动列表到底部 第3节 聊天界面接收消息 第4节 如何接收发送来的消息 第5节 iOS如何显示通知 第6节 实现iOS通知配置 第7节 判断消息是否显示到通知栏 第128章 完善聊天功能交互 第1节 显示聊天消息到本地通知 第2节 实现点击聊天消息进入聊天界面 第3节 实现选择图片功能 第4节 创建图片消息Cell 第5节 实现显示图片消息 第6节 选择图片后发送图片消息 第129章 实现增强聊天功能 第1节 应用中如何提示有消息 第2节 实现TabBar显示消息未读数 第3节 安装红点框架 第4节 在我的消息按钮上消息未读消息数 第5节 会话界面显示消息未读数 第6节 如何显示iOS桌面角标 第7节 即时聊天相关功能总结和优化 第130章 项目其他信息配置 第1节 如何更改应用名称 第2节 如何制作应用图标 第3节 生成多尺寸图标 第4节 应用图标替换 第131章 真实项目中的最佳实践 第1节 真实项目中如何添加注释 第132章 项目重构和修复Bug 第1节 修复iOS13数据库框架崩溃问题 第2节 SpringBoot课程API区别 第3节 更改项目网络相关功能 第4节 更改接口签名加密功能 第133章 项目总结 第1节 这不是结束而是新的开始