您的位置:首页 > 移动开发 > IOS开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: