LLLaiYoung/Timi

iOS 高仿Timi记账,欢迎star,THX

★ 482Forks 107Objective-CGitHub ↗Compare
colorcubeicarouselmasonryrealm

README

写在最前面:

本 APP 仅用作学习(虽然说也没有什么可学习的价值),请不要将此 APP 用于其他途径。

已经适配iOS11/iPhoneX
如果在看本文或者demo的时候有不明白的地方可以提issue或者简书简信我也可以。
温馨提示:看文章的时候结合代码一起看,效果会更佳哟。
项目采用MVC设计模式
本人还属于菜鸟级别,代码写得不规范,望见谅!
如果项目中同样的问题,你有更好的办法解决请告诉我,让我们一起学习。

废话说了一大堆,开始进入正题!!!

项目视频演练 -> 点我啊

高仿版本:3.6.1

使用语言:Objective-C

开发工具及调试神器:Xcode 7.3.1,Reveal 1.6.3

用到的三方库及扩展库

Name Explain
Masonry 纯代码Autolayout
MBProgressHUD 未使用,后更改为使用SVProgressHUD
MMDrawerController 抽屉
SVProgressHUD HUD
YYText 著名库YYKit下的一个富文本
iCarousel 一个类似UIScrollView的控件
ColorCube 图片颜色提取
UITextView_PlaceHolder 给UITextView添加PlaceHolder
SZCalendarPicker 日历
TYPagerController 左右滚动ViewController VTMagic
Realm 移动端数据库新王者

数据库设计

TMBill(账单)

Key Identity Column Data Type length Allowed Null Default Description
√ √ billID NSString 64 主键
dateStr NSString 10 当前年月日 时间
remarks NSString 40 nil 备注
remarkPhoto NSData √ nil 图片备注
isIncome BOOL 1 0 类型(收支)
money float 13 0 金额
FK category TMCategory 类别
FK book TMBooks 账本

TMBill(账单).png

TMCategory(类别)

Key Identity Column Data Type length Allowed Null Default Description
√ √ categoryID NSString 64 主键
categoryImageFileNmae NSString 64 类别icon文件名
categoryTitle NSString 3 类别标题
isIncome BOOL 1 类型(收支)

TMCategory(类别).png

TMBook(账本)

Key Identity Column Data Type length Allowed Null Default Description
√ √ bookID NSString 64 主键
bookName NSString 6 账本标题
imageIndex int 2 账本对应icon下标
bookImageFileName NSString 64 类别icon文件名

TMBook(账本).png

TMAddCategory(新增类别)

Key Identity Column Data Type length Allowed Null Default Description
√ √ categoryID NSString 64 主键
categoryImageFileNmae NSString 64 类别icon文件名
isIncome BOOL 1 类型(收支)

TMAddCategory(新增类别).png

TMCategory(类别),TMAddCategory(新增类别)都是采用plist表的方式先存储。当App每次启动的时候就会先检查数据库对应的表是否为空,为空则从plist表读取数据,存储到本地数据库。

项目整体结构

TimiStructure.png

更具体的细节分析请移步简书

Contributors

LLLaiYoung

Issues

hi

#14 · closed · 1 comments

TiMihx

#13 · open · 0 comments