美文网首页
从MJRefresh学用宏减少重复代码

从MJRefresh学用宏减少重复代码

作者: 70岁了还要浪 | 来源:发表于2016-05-25 10:16 被阅读83次

    最近有在项目中加载gif动画的需求,找了下资料,最后发现SDWebimage有封装的加载gif的方法。意料之外,于是对常用的开源的第三方都仔细研究了一遍,发现很多东西还是很有意思的。以下为MJRefresh的一些可以借鉴的地方。

    如下图,这就是MJRefresh的 MJRefreshConst.h  文件的内容。

    1.用宏来代替弱引用。

    2.不知道还有多少人配置颜色的时候还傻傻的写_buttonView.backgroundColor= [UIColorcolorWithRed:244/255.0green:244/255.0blue:244/255.0alpha:1.0];

    3.状态检查:对于一个需要区别登录用户和未登录的app,是不是每一个入口都要这样:

    if(![MPKManagerToolsharedManagerTool].user.customerId) {

    AppDelegate* appDelegate = (AppDelegate*)[[UIApplicationsharedApplication]delegate];

    [appDelegatesetupLoginVC];

    return;

    }

    然而,用宏只要这样就好

    - (void)setState:(MJRefreshState)state

    {

    MJRefreshCheckState

    if(state ==MJRefreshStateRefreshing) {

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5*NSEC_PER_SEC)),dispatch_get_main_queue(), ^{

    [selfexecuteRefreshingCallback];

    });

    }

    }

    一行代码能解决的,就不要用五行代码。

    说的不明白的地方,请参考MJRefresh源码。

    延伸:

    重复代码能用宏的,都可以考虑用宏来代替。

    要是有点收获的,点个喜欢吧,哈哈。。

    相关文章

      网友评论

          本文标题:从MJRefresh学用宏减少重复代码

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