ReactiveCocoa 实战-统计界面时长

作者: 圣斗士皮皮 | 来源:发表于2015-08-14 21:23 被阅读479次

有个需求,统计一些界面的显示时长,并且考虑锁屏后台等因素。 有了需求,那么我们需要的是下边几种情况 

1. 从viewDidAppear 到 viewDidDisappear

2. 从applicationDidBecomeActive 到applicationWillResignActive

继承大法

一种方式是自定义一个UIViewController类,然后所有统计的界面viewController继承此类,对于使用者来说,只需要继承一下子而已,不需要做额外的工作。但是现在继承带来的问题也是令人诟病的,它增加代码的阅读和理解负担,间接会增加维护成本;而且为了增加一个功能,而在类体系中增加一个结点实在无甚必要。我们需要的是一个不需要侵入和改变我们的类体系的一个方案。

类别+闭包+信号流

从需求的分析中我们看到了,就是基于几个事件点进行处理一下而已,所以用事件流的方式来处理非常合适。在 ReactiveCocoa 中,我们只需要在几个信号上加点代码而已。另外,为了让使用者使用方便,我们将此统计功能抽象为一个函数,像下边用例:

// 一个统计界面ViewController的viewDidLoad中代码

[self staticDurationForCurrentViewControllerwithViewName:@"设置界面"];

上边代码就是统计一下当前界面(设置界面)的显示时长。这个方法的实现如下:

相关文章

  • ReactiveCocoa 实战-统计界面时长

    有个需求,统计一些界面的显示时长,并且考虑锁屏后台等因素。 有了需求,那么我们需要的是下边几种情况 1. 从vie...

  • RAC实战

    RAC实战 RAC实战 - 专题 - 简书 RAC(ReactiveCocoa)学习资源汇总~持续更新 - CSD...

  • ReactiveCocoa实战

    1.ReactiveCocoa常见操作方法介绍。 1.1 ReactiveCocoa操作须知所有的信号(RACSi...

  • ReactiveCocoa理解笔记(2)

    MVVM和ReactiveCocoa 在MVVM中UIViewController讲专注的负责View的管理、界面...

  • MVVM

    iOS MVVM+RAC 从框架到实战 【长篇高能】ReactiveCocoa 和 MVVM 入门 iOS 最全R...

  • 时长统计架构

    怎样设计一个时长统计框架? 记录器:页面式 流式 自定义式记录管理者: 记录缓存 磁盘存储(处理异常内存缓存丢失...

  • 加班时长统计

    1、考勤机数据~ 2、粘贴到表格 3、删除节假日、实习生、刚入职异动的人 4、数据透视 5、部门人数,加班时长排查...

  • DOM统计时长

    ?xml version="1.0" encoding="UTF-8"? 一、判断DOM活跃时长需监听到的情况 1...

  • 渐进背景+图片:

    出自登录界面实战中:

  • Android布局优化

    优雅获取界面布局耗时 异步Inflate实战 AsyncLayoutLoader 布局加载优化实战

网友评论

本文标题:ReactiveCocoa 实战-统计界面时长

本文链接:https://www.haomeiwen.com/subject/lflwqttx.html