A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

JKDataHelper这个数据容错保护库,在使用中,感觉很好的解决了数据异常造成的线上app crash的现象。但是在使用的过程中仍然发现了一些问题,比如对于某些方法的拦截还有遗漏,我这次补齐了一下,另外就是在调试阶段,有的时候我不想进行容错保护,我就是想让程序出现crash,方便我定位bug。下面就来说说自己升级改动的地方吧

1,补齐遗漏的方法        Class targetClass = NSClassFromString(@"__NSArrayI");...  [self JKswizzleMethod:@selector(objectAtIndexedSubscript:) withMethod:@selector(JKsafeObjectAtIndexedSubscript:) withClass:targetClass];
  • 1
  • 2
  • 3
  • 4
  • 5
Class targetClass = NSClassFromString(@"__NSArrayM");... [self JKswizzleMethod:@selector(objectAtIndexedSubscript:) withMethod:@selector(JKsafeObjectAtIndexedSubscript:) withClass:targetClass];
  • 1
  • 2
  • 3

增加了之前漏掉的两个方法,完善对NSArray,NSMutableArray的数据容错。

2,添加宏定义开关

这个宏定义开关主要是在JKDataHelperMacro.h这个文件中#define JKDataHelperDebug的宏定义,如果不想使用JKDataHelper的拦截容错功能的话,可以将该宏定义注释掉,如果想使用的话,放开这个宏定义的注释就好了。
代码下载地址:
https://github.com/xindizhiyin2014/JKDataHelper

【转载】https://blog.csdn.net/hanhailong18/article/details/80743487


2 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马