已经适配iOS11/iPhoneX
如果在看本文或者demo的时候有不明白的地方可以提issue或者简书简信我也可以。
温馨提示:看文章的时候结合代码一起看,效果会更佳哟。
项目采用MVC设计模式
本人还属于菜鸟级别,代码写得不规范,望见谅!
如果项目中同样的问题,你有更好的办法解决请告诉我,让我们一起学习。
废话说了一大堆,开始进入正题!!!
项目视频演练 -> 点我啊
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 | 账本 |
TMCategory(类别)
Key | Identity | Column | Data Type | length | Allowed Null | Default | Description |
---|---|---|---|---|---|---|---|
√ | √ | categoryID | NSString | 64 | 主键 | ||
categoryImageFileNmae | NSString | 64 | 类别icon文件名 | ||||
categoryTitle | NSString | 3 | 类别标题 | ||||
isIncome | BOOL | 1 | 类型(收支) |
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文件名 |
TMAddCategory(新增类别)
Key | Identity | Column | Data Type | length | Allowed Null | Default | Description |
---|---|---|---|---|---|---|---|
√ | √ | categoryID | NSString | 64 | 主键 | ||
categoryImageFileNmae | NSString | 64 | 类别icon文件名 | ||||
isIncome | BOOL | 1 | 类型(收支) |
TMCategory(类别),TMAddCategory(新增类别)都是采用plist表的方式先存储。当App每次启动的时候就会先检查数据库对应的表是否为空,为空则从plist表读取数据,存储到本地数据库。