背景: 如今愈来愈多的公司会尝试用 Swift 作 native 的开发了,不少以前习惯用 Objective-C 的开发,有新项目启动的时候,也会想说用 Swift 试试。若是从 2020年编程语言排行榜 上看的话,Swift的热度也领先 Objective-C 10个身位了。而咱们如今公司所作的项目,也是用 Swift 开发的,虽说以前有些 OC 基础,写起 Swift 功能也是能实现,可是代码不是很优雅,不够 ‘Swift Style’。 熟练度不够的话,不少 Swift 的高级写法还得去翻文档才知道什么意思,因此就打算从0单排一个Swift的项目,而微博正好有 开放API , 因此这里就选择它了。面试
主页界面数据库
表情界面编程
项目架构swift
点击进群密码:111缓存
项目功能架构
原创微博功能
转发微博功能
Emoji表情功能
撰写微博界面
新特性功能
消息提醒功能
多图展现功能
富文本功能
多图展现功能
下滑自动加载功能
上/下拉刷新功能
OAuth 受权登陆功能
已完成
发布微博功能(API已不提供)
图片上传功能(API已不提供)
消息功能
发现功能
个人功能
SVProgressHUD 提醒功能
用到的技术点app
TableView高度缓存
SDWebImage圆角处理
FMDB数据缓存
OAuth受权
单张图片的高度计算
Cell滚动自动加载更多
撰写页面的动画处理
发布界面的Emoji处理
多图的展现
…
不足点编程语言
Weibo 的 App 包里的素材图片实在太多了,找到彻底匹配的要花费超多时间,因此有的资源不是很匹配,或者不是当前最新的
该Demo使用了FMDB,其实微博这种时效性毕竟高,且有较高政治敏感度的,不适合用本地缓存, 这里只是一个 FMDB 使用的简单案例,更适合更新不用太及时,或者相似qq这种接收服务端推送消息的app.
这个文艺复兴版的微博(2016年的),如今的微博已经有了较大的变更,且不少API接口如今已经不开放了,因此暂时先用此怀旧版本.
SVProgressHUD 在Swift5.0会crash,因此这个app里没有 toast 功能,坐等修复…
Gif图片因为如今门户网站只能传 < 5M 的,因此看上去毕竟模糊,实际效果会比 Gif 图片好得多,建议用真机跑一下试试~
这版原本打算用本人拙劣的英文写全篇的注释,后来因为本人 Chinelish 水平有限,毕竟复杂的逻辑/业务就用中文写了(求轻喷)
…
使用的第三方库工具
AFNetworking
SDWebImage
YYModel
SnapKit
FMDB
pop
HMPhotoViewerController
工具分享学习
图片素材获取: cartool
取色标注工具: MarkMan
数据库工具: Navicat
画图工具: MindNode
…
总结
从事Swift 开发已经有一段时间
,发现没有必定量的代码积淀(踩坑)仍是不行,因此就打算本身写一个入门的纯Swift App。这个项目是本萌新的第一个发布swift项目,有些粗糙,可是若是新手做为 Swift 上手,入门的,其实应该还能够。该项目基本都是用的 “纯代码+纯Swift” 的方式写的,用的也是尽可能新的 API, 萌新们想玩的话感受仍是能够上手的。
最近发现,时间管理 真的很重要,不少事情,一开始觉得本身作不到,后面天天把时间分配好,学习和琢磨 ,不会的与前辈交流,终于不负有心人, 把这些搞好了, 每一个人都不要放弃。
————————————————
点击进群 密码:111