勤之时 - 表示层(五)

这一节讨论统计的部分,右上角的按钮对应的功能。

功能描述如下:

【今日统计】 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

算是有点虎头蛇尾吧,最后的一部分文章和代码总因为种种原因(其实就是懒惰)耽搁了。 现在算是完结这个系列。