Timi

by CYBoys

CYBoys /Timi

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

465 Stars 110 Forks Last release: Not found MIT License 18 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

写在最前面:

本 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
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
bookImageFileName NSString 64

TMBook(账本).png

TMAddCategory(新增类别)

Key

Identity Column Data Type length Allowed Null Default Description
categoryID NSString 64 主键
categoryImageFileNmae NSString 64
isIncome BOOL 1

TMAddCategory(新增类别).png

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

项目整体结构

TimiStructure.png

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

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.