一段可以清理NSArray中的空对象的代码(递归)

时间:2022-02-23 13:56:48
- (NSArray *)clearAllNullObject{
NSMutableArray *array = [self mutableCopy];
for (int i = ;i < array.count;i++) {
id obj = array[i];
if ([obj isKindOfClass:[NSDictionary class]]){
NSMutableDictionary *dict = [obj mutableCopy];
for (int j = ; j<dict.allKeys.count; j++) {
id tObj = dict[dict.allKeys[j]];
if ([tObj isKindOfClass:[NSNull class]]){
[dict removeObjectForKey:dict.allKeys[j]];
j--;
}
if ([tObj isKindOfClass:[NSArray class]]){
NSArray *to = [tObj clearAllNullObject];
[dict setObject:to forKey:dict.allKeys[j]]; }
}
[array replaceObjectAtIndex:i withObject:dict];
}
if ([obj isKindOfClass:[NSArray class]]){
[array replaceObjectAtIndex:i withObject:[obj clearAllNullObject]];
}
}
return array;
}

使用方法:

创建NSArray的category

NSArray *obj = [data clearAllNullObject];