从MJRefresh学用宏减少重复代码

2016-05-25  本文已影响83人  70岁了还要浪

最近有在项目中加载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源码。

延伸:

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

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

上一篇下一篇

猜你喜欢

热点阅读