关于MJRefresh报[NSTaggedPointerString substringToIndex:]的小问题
来源:互联网 发布:光纤交换机端口类型 编辑:程序博客网 时间:2024/06/06 02:40
从报错信息中可以看出是越界问题,问题发生在MJRefreshComponent.m文件的- (NSString *)localizedStringForKey:(NSString *)key withDefault:(NSString *)defaultString方法中,从方法里可以看出这是一个处理系统语言的方法,方法中写的是将入系统语言是简体中文,就更改成“zh-Hans”,但是你如果系统语言是英语的话,[NSLocale preferredLanguages].firstObject方法获取的就是en,NSRange range = [language rangeOfString:@"-" options:NSBackwardsSearch];
language = [language substringToIndex:range.location];这个方法就会越界,所以为了避免越界,可以改成:
if (![language isEqualToString:@"en"]) {
if ([UIDevice currentDevice].systemVersion.floatValue >= 9.0) {
NSRange range = [language rangeOfString:@"-" options:NSBackwardsSearch];
language = [language substringToIndex:range.location];
}
}
之后运行,无论是英语还是汉语,都可以完美运行
0 0
- 关于MJRefresh报[NSTaggedPointerString substringToIndex:]的小问题
- xcode7 使用MJRefresh 报错问题
- 关于MJRefresh的刷新详解
- react-native报错[NSTaggedPointerString unsignedIntValue]: unrecognized selector sent to instance的解决办法
- MJRefresh使用遇到的问题
- substringtoindex
- 关于小程序请求接口报400的问题
- 88.MJRefresh使用中的注意事项 MJRefresh引起的崩溃问题
- MJRefresh框架使用的几个小细节
- AFNetworking和MJRefresh编译过程中遇到的几个小问题
- MjRefresh在Xcode6.0上的问题
- iOS小问题---Xcode6.0下导入MJRefresh
- copy的使用...NSStringFromClass([string class])... NSTaggedPointerString
- 采用Tagged Pointer技术的NSTaggedPointerString
- 关于MJRefresh下拉刷新崩溃问题及解决办法
- Swift 集成Alamofire/Kingfisher/MJRefresh/MBProgressHUD的小项目
- 关于MJRefresh上拉加载后仍能看到提示的解决办法
- 关于C#字符串按照小括号拆分报错问题
- Vuejs关闭打开的窗口后刷新父页面
- Bioinfo excerise 20170309-1
- Java面试整理 错题集(下)
- java基础教程
- spring如何解析元素
- 关于MJRefresh报[NSTaggedPointerString substringToIndex:]的小问题
- docker入门
- java基础--切割字符串
- JAVA通过反射了解集合泛型本质
- MAC 下启动apache,php,mysql
- C# 关于事件 委托的理解
- ARTSPConnection::receive
- jquery的$().each,$.each的区别
- 1 java环境配置记录