美文网首页
多态和继承使用的经典场景

多态和继承使用的经典场景

作者: cochn | 来源:发表于2019-05-21 11:58 被阅读0次

    需求:

    当前页面请求数据监听到登录过期,需要先登录然后返回当前页面,并刷新数据

    思路:

    监听登录过期:

    项目中往往会封装网络请求类,在封装的get,post方法中监听,然后发出通知即可。

    登录成功返回当前页面并刷新:

    在每个类监听通知,然后登陆成功返回刷新也能做到,但是工作量大,耦合严重。
    既然所有的控制器都要求监听登录过期的通知,那么可以用继承,继承基类,在基类里监听登录过期。同样,请求数据的方法可以放到基类中。收到登录过期通知->去登陆->发出登录成功通知->在基类中监听登录成功的通知->调用请求数据的方法。

    现在又有问题,所有继承基类的VC都会收到登录过期和登录成功的通知。
    那么多态用上了
    解决思路:
    在AppDelegate中监听登录过期和登录成功的通知,登录过期时获取最上层控制器,并声明属性baseVC *topVC,然后去登录,登录成功返回,topVC调用数据源方法刷新数据。
    注意:如果topVC为真,说明已经去登录,再收到登录过期的通知不要再去登录,登录成功之后将topVC置为nil

    相关文章

      网友评论

          本文标题:多态和继承使用的经典场景

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