使用业界主流的MVVM模式和苹果的Swift语言开发,使用CocoaPods管理第三方库,使用YYModel解析数据,实现微博第三方登录,自定义下拉刷新和上拉加
* 第一章 新浪微博/
* 新浪微博项目/
* 01-02-开源中国简单介绍
* 01-03-SSH 公钥的数据传输流程介绍
* 01-04-配置 SSH key
* 01-05-创建项目并推送到 OSChina 上
* 01-06-设置图标和启动图片
* 02-01-项目的一些基本配置
* 02-02-MVVM简单介绍
* 02-03-设置项目目录结构&创建子控制器
* 02-04-添加 CZAddition,配置桥接文件让 Swift 调用 OC
* 02-05-使用字典创建一个控制器
* 03-01-添加其他三个子控制器
* 03-02-抽取代码&fileprivate讲解
* 03-03-通过标题属性字典设置tabBar的图标和文字颜色
* 03-04-初始化撰写按钮添加到 tabBar 上面
* 03-05-设置撰写按钮的位置&调整撰写按钮到最前面接收点击事件
* 04-01-实现 tabBar控制器代理完成屏蔽中间控制点击&利用@objc 修饰私有方法
* 04-02-添加测试控制器,push 显示
* 04-03-重写push方法,隐藏底部的 tabBar(先放一放)
* 04-04-扩展测试控制器,不停的 push
* 05-01-利用 customView 实现 item 样式
* 05-02-抽取 barButtonItem 便利构造函数
* 05-03-设置返回按钮
* 05-04-设置返回按钮的图标
* 05-05-返回按钮标题显示逻辑
* 06-01-解决返回手势不识别&右上角有阴影的问题
* 01-02-初始化访客视图的控件
* 01-03-小房子图像视图布局
* 01-04-访客视图主要控件添加自动布局约束
* 02-01-使用 VFL 设置 maskIconView 的布局
* 02-02-使用背景颜色处理剩余部分的显示
* 02-03-设置不同界面的访客视图数据
* 02-04-首页圆圈旋转动画
* 03-01-通过 addtarget 添加访客视图监听
* 03-02-添加未登录情况下的导航栏按钮
* 06-03-访客视图逻辑介绍&已登录状态下 tableView 展示
* 06-04-根据用户登录标记判断是否显示访客视图
* 06-05-添加访客视图素材&准备访客视图
* 03-04-第三方登录介绍
* 03-05-创建应用程序
* 03-06-用 url 拼接 token 字符串访问用户微博数据演示
* 04-01-使用浏览器显示OAuth授权页面
* 04-02-创建 OAuth 登录控制器,设置根视图
* 04-03-利用执行 js 实现自动填充功能
* 04-04-拼接登录页面地址,加载登录页面
* 05-01-导入 SVProgressHUD 实现加载 loading 效果
* 05-02-利用思维导图分析 OAuth 登录流程
* 05-03-利用代理方法监听webView打开的是哪个页面
* 05-04-截取授权code
* 06-01-分析 accessToken 获取思路&导入 AFN 和 YYModel
* 06-02-使用 AFN 请求 AccessToken
* 06-03-通过 YYModel 将获取 AccessToken 的数据进行字典转模型
* 06-04-获取个人信息&将头像与昵称保存到模型
* 01-01-创建网络工具类单例
* 01-02-测试网络工具单例类
* 01-03-使用一个函数封装 AFN 的 GET&POST 请求
* 01-04-抽取网络工具类思路分析
* 02-01-抽取loadUserInfo到工具类中
* 02-02-抽取获取 AccessToken 的方法到工具类中
* 02-03-数据本地缓存的几种方式回顾
* 03-01-通过生命周期计算出 AccessToken 的过期时间
* 03-02-使用偏好设置保存用户的个人数据
* 03-03-从偏好设置里面读取保存的数据
* 03-04-判断用户是否登录的思路分析
* 03-05-完成判断用户是否登录的逻辑
* 03-06-将 WBUserAccount 抽取成单例
* 04-01-对WBUserAccount的处理回顾
* 04-03-完成登录成功之后切换界面的逻辑
* 04-04-欢迎页面实现思路分析
* 04-05-欢迎页面的界面搭建
* 05-01-初始化欢迎页面,在启动的时候添加到 mainVC 中
* 05-02-导入 YYWebImage 加载欢迎页头像
* 05-03-执行欢迎页面的动画
* 05-04-使用系统按钮设置为按钮的 titleView
* 06-01-重写 layoutSubViews 方法调整按钮的子控件位置
* 06-02-设置 titleButton 的监听事件&抽取代码到 titleButton 中
* 06-03-查看微博首页数据接口&请求首页数据
* 06-04-创建微博模型&将获取回来的数据进行字典转模型
* 01-01-实现 tableView 的数据源方法显示微博数据
* 01-02-抽取微博首页数据的代码到网络工具类中
* 01-03-抽取首页加载数据的方法到视图模型
* 02-01-首页 ViewModel 抽取逻辑回顾
* 02-02-上拉加载下拉刷新接口分析
* 02-03-判断 tableView 滚动到底部
* 02-04-定义微博的 id 属性,讲解 Int 类型的注意点
* 03-01-修改网络工具类和 ViewModel 中加载数据的方法能准备刷新
* 03-02-完成上拉加载基本逻辑
* 04-01-修正 since_id 和 max_id 计算的代码 & 演示快速上拉的 bug
* 04-02-系统下拉刷新控件的集成
* 04-03-自定义刷新控件思路分析
* 05-01-自定义刷新控件继承于 UIControl&添加到 tableView 顶部
* 05-02-添加刷新控件的子控件&使用 SnapKit 添加约束
* 05-03-定义刷新控件的状态
* 05-04-使用 KVO 监听 tableView 的滚动
* 06-01-根据滚动距离去设置当前控件的状态[不要死记代码]
* 06-02-根不同的状态设置刷新控件不同的显示信息
* 01-01-进入到刷新中状态保证刷新控件停留在界面上
* 01-02-添加刷新控件的监听事件,实现下拉刷新的功能
* 01-03-完善刷新控件的细节&刷新控件的小结
* 02-01-微博首页布局分析
* 02-02-添加 cell 的 xib 并且验证
* 02-03-原创微博 cell 布局
* 02-04-微博 cell 子控件连线
* 02-05-设置微博文字取消分割线
* 03-01-新建微博作者信息模型&并获取数据
* 03-02-抽取 cell 的 ViewModel 思路分析
* 03-03-根据思路抽取 cell 的 ViewModel
* 04-01-显示首页 cell 的基本数据
* 04-02-使用 layer 的 corneradius 处理圆形头像
* 04-03-微博 cell 底部工具条界面搭建
* 04-04-添加底部工具栏视图&显示基本数据
* 05-01-完善转发评论赞的数据显示逻辑
* 05-02-添加配图视图到微博 cell 中并自动布局
* 05-03-创建配图视图类,测试配图视图的高度
* 05-04-增加配图模型数组,使用 YYModel 赋值数组中的值
* 06-01-准备配图视图大小属性和计算方法
* 06-02-根据配图数量计算配图视图的大小
* 06-03-解决图片张数为0时工具条与文字间距过大的问题&抽取配图视图所需常量
* 06-04-配图视图的9宫格布局
* 02-04-单张图片缓存思路分析
* 03-01-准备缓存单张图像的函数
* 03-02-确定要缓存的单张图片的 URL
* 03-03-使用 YYWebImage 下载单张图片
* 03-04-使用调度组监听单张图片下载完成再刷新页面
* 04-01-根据单张图片调整显示单张图片控件的尺寸
* 04-02-解决图片被缩放之后显示过小的问题
* 04-03-演示长图显示过窄的问题&提供准备方法
* 04-04-处理单张图片显示过窄过宽的问题
* 05-01-单张图片处理思路回顾
* 05-02-修改 tableView 背景颜色&删除右上角测试用的 item
* 05-03-定义分类方法隔离 YYWebImage 框架
* 05-04-真机测试&Instruments 测试 FPS
* 06-01-tableView性能优化思路分析
* 06-02-混合图层演示
* 06-03-模拟器中图形测试工具介绍
* 04-04-撰写类型视图的功能演示
* 05-01-初始化撰写类型视图并添加到界面上
* 05-02-实现背景磨砂的效果
* 05-03-撰写类型视图界面搭建并连线
* 05-04-自定义继承于 UIControl 的按钮并测试
* 06-01-添加6个撰写类型按钮并布局
* 06-02-添加剩余6个撰写类型按钮并测试
* 06-03-读取撰写类型数据并显示到界面上
* 06-04-完成点击更多按钮到下一页和点击返回按钮到上一页逻辑
* 01-01-给 ScrollView 添加向右滑动的手势滑动到第一页
* 01-02-使用iMovie逐帧分析应用程序动画效果
* 01-03-pop框架简介
* 01-04-使用 pop 实现撰写类型视图透明度动画
* 01-05-使用 pop 动画实现按钮从底部弹出到界面的效果(上)
* 02-01-使用 pop 动画实现按钮从底部弹出到界面的效果(下)
* 02-02-实现按钮从界面移动到底部隐藏的动画
* 02-03-撰写类型视图在隐藏的时候从不透明到透明的动画
* 02-04-完成按钮点击放大缩小和透明度变化动画
* 03-01-使用闭包将撰写按钮的点击事件回调给控制器
* 03-02-在撰写按钮点击的时候弹出控制器&解决撰写类型视图的循环引用
* 03-03-plist 中指定每个按钮对应的控制器类名以弹出对应控器
* 04-01-撰写类型视图实现思路回顾
* 04-02-发微博界面简单介绍
* 04-03-初始化 label 设置成发微博界面导航栏的 titleView
* 04-04-使用富文本实现 label 中不是文字颜色和字体大小
* 05-01-实现导航栏右边发送按钮的效果
* 05-02-添加 textView 到发微博控制器中
* 05-03-实现 textView 滚动关闭键盘&根据是否有内容设置发送按钮状态
* 05-04-自定义 textView 添加并显示占位文字 label
* 06-01-利用通知监听 textView 的文字改变隐藏占位文字
* 06-02-发微博界面底部工具条的界面搭建
* 06-03-监听键盘 frame 改变的通知
* 06-04-根据键盘的 y 值调整工具条的约束并做动画
* 01-01-利用生命周期的方法实现界面展示/关闭的时候弹出/隐藏键盘
* 01-02-定义协议,将工具条中按钮的点击事件抛给控制器
* 01-03-使用枚举值区分按钮的类型并回调给控制器
* 01-04-查看发送微博接口&定义发送微博的方法
* 02-01-实现发送文字微博功能
* 02-02-抽取 tokenRequest 请求数据的方法
* 02-03-处理用户在使用过程中 accessToken 过期的问题
* 03-01-查看上传图片文档接口&准备上传图片的方法
* 03-02-利用 AFN 上传图片的方法实现发送图片微博的功能
* 03-03-完善上传文件的方法,将UIImage 类型改成 Data 类型
* 04-01-使用 UIImagePickerController 选择图片
* 04-02-UIImagePickerController 的其他用法
* 04-03-自定义发微博界面的配图视图并添加到界面
* 05-01-实现数据源方法调整 itemSize 和 itemMargin
* 05-02-提供方法供外界向当前配图控件里面添加图片
* 05-03-自定义 cell 显示添加图片控件显示图片
* 05-04-实现点击删除按钮删除对应图片的逻辑
* 06-01-完成配图视图中加号按钮的显示逻辑
* 06-02-使用闭包完成加号按钮点击去选择图片的功能
* 06-03-配图控件的代码优化和细节功能完善
* 01-01-演示图片占用内存过高的问题并讲解原因
* 01-02-使用核心绘图对图片进行指定宽度等比例缩放
* 01-03-将用户选择的图片发送到微博&完善方法
* 01-04-使用 pod 集成 HMImagePicker 框架到项目
* 02-01-使用 HMImagePicker 去选择图片
* 02-02-抽取表情上屏的逻辑到 textView 的分类中
* 02-03-集成 HMEmoticon 项目以显示表情键盘
* 02-04-textView的键盘切换逻辑
* 03-01-表情键盘的界面分析
* 03-02-表情键盘数据的处理类与模型类介绍
* 03-03-读取 emoticon.plist 确定有多少组逻辑
* 04-01-读取指定一类表情的数据
* 04-02-表情数据与 collectionView 关联逻辑
* 05-01-讲解表情数据的显示逻辑
* 05-02-点击 toolBar 中的按钮滚动到指定类型表情
* 05-03-滚动 collectionView 选中 toolBar 上对应的按钮
* 06-01-UIPageControl 数据设置以及使用 KVO 设置选中/未选中图标
* 06-02-tipView显示逻辑
* 06-03-让表情键盘在启动的时候滚动到默认表情
* 06-04-讲解最近表情的保存逻辑
* 01-01-单独集成表情键盘&准备表情上屏
* 01-02-emoji表情上屏&删除按钮点击逻辑处理
* 01-03-图片表情上屏的基本逻辑
* 02-01-解决用户选中一段文字再输入表情的bug
* 04-01-使用 Xcode 演示正则表达式的简单使用
* 04-02-使用正则表达式匹配来源字符串中的 url 和文本描述
* 04-03-模糊匹配&抽取匹配逻辑到 extension 中
* 05-01-完成微博项目中来源字符串的显示
* 05-02-微博时间显示逻辑分析
* 05-03-将时间字符串转成 Date 对象
* 05-04-定义 Date 的计算型属性,完善伪代码
* 05-05-判断微博创建时间是否是今年
* 06-01-使用 Canlendar 对象判断是否是今天
* 06-02-时间格式化细节判断完成
* 04-02-首页数据缓存功能介绍
* 04-03-FMDB架构回顾
* 04-04-集成 FMDB 框架到项目&分析微博首页表结构
* 05-01-完成创建数据库表的操作
* 05-02-创建 DAL,准备缓存数据到数据库的方法
* 05-03-将网络上请求回来的数据缓存到本地
* 06-01-添加检查缓存的方法&拼接查询的 SQL 语句
* 06-02-从 resultSet 中获取微博数据并返回
* 06-03-数据访问层逻辑完善
* 07-01-解决首页加载数据会调用两次 DAL 加数数据的方法的 BUG
* 07-02-调整创表 SQL, 增加微博记录创建时间
* 07-03-清除数据库缓存逻辑实现
* 07-04-微博数据缓存回顾&能够做数据缓存的数据类型和特点
* 07-05-解决项目上线 print 输出的问题
* 06-03-将微博内容转成富文本显示&准备匹配表情的方法
* 06-07-使用正则演示匹配表情字符串





![[衡天云]爆款云服务器 低至12元/月](/hty.png)