这一节讨论统计的部分,右上角的按钮对应的功能。
功能描述如下:
【今日统计】 View Controller
- 上部为今日任务统计的饼状图
- 中部为今日专注文字及日期
- 底部为专注次数,小时和程度统计
- 左上角为【关闭】按钮
- 右上角为【历史统计】按钮,点击跳转到历史统计页面。
【历史数据 - 柱状图】View Controller
- 上部为专注总数,小时数,以及天数的统计信息。
- 中部为最近7天或30天的专注统计柱状图。
- 底部为最佳专注信息。
- 左上角为【返回】按钮,点击返回【今日专注】页面
- 右上角为【历史专注 - 饼状图】按钮,点击切换为饼状图。
【历史数据 - 饼状图】View Controllers
- 上部为专注总数,小时数,以及天数的统计信息。
- 中部为专注统计饼状图。
- 底部为最佳任务信息。
- 左上角为【返回】按钮,点击返回【今日专注】页面
- 右上角为【历史专注 - 柱状图】按钮,点击切换为柱状图。
MVC设计考虑:
- Controller:
- ILDStatisticsTodayViewController:今日统计。
- ILDStatisticsHistoryViewController:历史统计,饼状图和柱状图共用一个VC,只不过视图不一样,点击按钮时切换视图。
Model:
- 在ILDBusinessLogicLayer中我们定义了ILDDiligenceDataCenter,可以通过这个类,来获取Today和History的统计信息,对应的Model分别为ILDStatisticsTodayModel和ILDStatisticsHistoryModel。
- 在展示层,我们添加了ILDStatisticsTodayModel和ILDStatisticsHistoryModel对应的Category,来基于Model生成View需要展示的数据。
View:
- 对一些通用的View模块进行抽取,然后依据模块分别开发View。
详细编码:
不在赘述了,献上代码:https://github.com/Inspirelife96/ILDiligence
算是有点虎头蛇尾吧,最后的一部分文章和代码总因为种种原因(其实就是懒惰)耽搁了。 现在算是完结这个系列。