ios 数组排空 防止出现NSNull数组溢出报错bug
2017-11-01 11:40
537 查看
#import
<Foundation/Foundation.h>
typedef
enum : NSUInteger {
Dictionary,
Array,
String,
} objectType;
@interface NoEmptyTools :
NSObject
+(id)noEmptyWithObject:(id)object;
@end
#import
"NoEmptyTools.h"
@implementation NoEmptyTools
+(id)noEmptyWithObject:(id)object{
const
NSString *nullStr =
@"";
//数据处理
if ([object
isKindOfClass:[NSArray
class]]) {
NSMutableArray *array = [(NSArray *)object
mutableCopy];
for (int index =
0; index<array.count; index++) {
//遍历后每个数据
id arrayObject = array[index] ;
//返回数据
id useObject = [self
noEmptyWithObject:arrayObject];
//存档
[array
setObject:useObject atIndexedSubscript:index];
}
return array;
}else
if([object
isKindOfClass:[NSDictionary
class]]){
NSMutableDictionary *mutableDic = [(NSDictionary *)object
mutableCopy];
for (id key
in mutableDic.allKeys) {
//遍历后每个数据
id value = mutableDic[key];
//返回数据
id useObject = [self
noEmptyWithObject:value];
//存档
[mutableDic
setObject:useObject forKey:key];
}
return mutableDic;
}else
if([object isEqual:[NSNull
null]]||object ==
nil){
return nullStr;
}else{
return object;
}
}
@end
<Foundation/Foundation.h>
typedef
enum : NSUInteger {
Dictionary,
Array,
String,
} objectType;
@interface NoEmptyTools :
NSObject
+(id)noEmptyWithObject:(id)object;
@end
#import
"NoEmptyTools.h"
@implementation NoEmptyTools
+(id)noEmptyWithObject:(id)object{
const
NSString *nullStr =
@"";
//数据处理
if ([object
isKindOfClass:[NSArray
class]]) {
NSMutableArray *array = [(NSArray *)object
mutableCopy];
for (int index =
0; index<array.count; index++) {
//遍历后每个数据
id arrayObject = array[index] ;
//返回数据
id useObject = [self
noEmptyWithObject:arrayObject];
//存档
[array
setObject:useObject atIndexedSubscript:index];
}
return array;
}else
if([object
isKindOfClass:[NSDictionary
class]]){
NSMutableDictionary *mutableDic = [(NSDictionary *)object
mutableCopy];
for (id key
in mutableDic.allKeys) {
//遍历后每个数据
id value = mutableDic[key];
//返回数据
id useObject = [self
noEmptyWithObject:value];
//存档
[mutableDic
setObject:useObject forKey:key];
}
return mutableDic;
}else
if([object isEqual:[NSNull
null]]||object ==
nil){
return nullStr;
}else{
return object;
}
}
@end
相关文章推荐
- ios-解决输出数组和字典中的汉字的时候出现Unicode编码的问题
- react native 由于平台差异导致ios平台上无缘无故出现背景色bug解决方案
- 关于iOS UITableView 数据源数组加载完成之后,滑动时出现cell为空的问题解决笔记
- iOS 7 Bug:OTA 部署下出现“影子图标”
- iOS 多线程下 对数组 遍历,防止边读边写
- 防止IE6出现BUG的十种常见解决方法
- iOS 解决sdk在iOS7上出现的Bug
- C++ 出现bug :二位数组的操作运算,求非对角线的元素的和
- IOS 设置icon 出现的bug The app icon set named "AppIcon" did not have any applicable content.
- iOS开发-黑科技防止多次添加删除KVO出现的问题
- IOS开发之Bug--关于C语言数组的容量参数
- 友盟统计和dsym定位iOS出现bug的位置
- C++调用大数组出现栈溢出的问题解决方法,堆和栈的完全解析
- iOS中防止数组越界之后发生崩溃
- php数据库两个关联大表的大数组分页处理,防止内存溢出
- ios 版本迭代开发中,去重,支付,以及界面遇到的bug(使用到navigation防止界面的self.view坐标发生改变)
- iOS在json解析中出现的类似小数溢出的问题
- IE6出现重复字符(文字溢出)的bug
- ios navi push到下一页面,然后pop返回出现的一个bug
- iOS中json解析出现NSNull的异常闪退处理方法