美文网首页
MJRefreshStateHeader lastUpdate

MJRefreshStateHeader lastUpdate

作者: zhaocarbon | 来源:发表于2019-12-06 09:25 被阅读0次

其实一直比较抵触这个垃圾pod管理第三方组件或者是实用工具,并且很多开发人员写的东西也很垃圾!这不,最近公司项目外包到第三方,其就使用pod来大量引入第三方组件来搞开发。但是重点问题来了,第三方组件引起崩溃!OC中应该没有问题,因为OC中一个函数的参数可以传对应的参数对象,也可以传一个nil进去,根本不会崩溃。而在swift中就不一定了,如果你定义的输入参数并不是可选可空参数,那传一个nil进去立即崩溃!!

如下分析:lastUpdatedTimeText方法就因为逻辑不严谨出现BUG,导致崩溃!

NSDate *lastUpdatedTime = [[NSUserDefaultsstandardUserDefaults]objectForKey:lastUpdatedTimeKey];

lastUpdatedTime初始未被设置,则值为空!!将空nil传进去,立即崩溃!

@property (copy, nonatomic,nullable) NSString *(^lastUpdatedTimeText)(NSDate *lastUpdatedTime);

注意:(NSDate *lastUpdatedTime);这个输入的定义,在swift中意即必须是有效的对象。如果是nil,只能呵呵了。没办法,只能修改这个破组件的源码!将其定义改为:
@property (copy, nonatomic,nullable) NSString *(^lastUpdatedTimeText)( NSDate * _Nullable lastUpdatedTime);

希望以上吐槽能帮助到遇到同样问题的人。这样改了,如果你pod更新一下,你修改的就又没了。。。所以,要么,不要更新最新版本,要么就去git上提BUG,让开发人员处理。或者是自己GIT拉下来,修改掉,给提交上去。

相关文章

  • MJRefreshStateHeader lastUpdate

    其实一直比较抵触这个垃圾pod管理第三方组件或者是实用工具,并且很多开发人员写的东西也很垃圾!这不,最近公司项目外...

  • maven lastupdate error

    导入maven项目后遇到如下错误 Failure to transfer org.apache.maven.plu...

  • MJRefresh源码阅读(三)

    继上一篇MJRefresh源码阅读(二)之后,这次开始介绍MJRefreshStateHeader,它是继承于MJ...

  • MJRefresh使用

    使用weak,防止循环引用 2.隐藏状态和时间|自定义状态文字(MJRefreshStateHeader) 3.加...

  • Maven不能下载的jar包的问题

    第一个方法:删除本地的\repository库中所有.lastupdate后缀文件,重新下载 可能的原因就是 ma...

  • maven

    1、删除所有以.lastUpdate结尾的文件 1、切换到maven的本地仓库 2、在当前目录打开cmd命令行 3...

  • Idea maven导包失败

    检查maven仓库中,包是否下载失败;看是否有lastupdate文件,或jar未下载或未下载全 删掉下载失败的包...

  • 删除Maven更新失败后遗留的.lastUpdate文件问题

    Windows cd 到本地仓库目录下,运行命令 批处理文件 在 window 中生成一个 cleanLastUp...

网友评论

      本文标题:MJRefreshStateHeader lastUpdate

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