ReactiveCocoa 实战-统计界面时长

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

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

    1. 从viewDidAppear 到 viewDidDisappear

    2. 从applicationDidBecomeActive 到applicationWillResignActive

    继承大法

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

    类别+闭包+信号流

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

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

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

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

    相关文章

      网友评论

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

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