zoukankan      html  css  js  c++  java
  • 一段可以清理NSArray中的空对象的代码(递归)

    - (NSArray *)clearAllNullObject{
        NSMutableArray *array = [self mutableCopy];
        for (int i = 0;i < array.count;i++) {
            id obj = array[i];
            if ([obj isKindOfClass:[NSDictionary class]]){
                NSMutableDictionary *dict = [obj mutableCopy];
                for (int j = 0; 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];

     

  • 相关阅读:
    c语言数组指针
    (4)activiti工作流引擎之uel表达式
    (3)activiti流程的挂起和激活
    (2)java程序走一遍工作流activiti
    (1)activiti认识以及数据库和插件配置
    linux 下路由配置
    lvs-dr+keepalived
    LVS-DR 配置测试
    简单认识TCP/IP协议
    mysql 主从同步-读写分离
  • 原文地址:https://www.cnblogs.com/n1ckyxu/p/6043998.html
Copyright © 2011-2022 走看看