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];

     

  • 相关阅读:
    虚函数&纯虚函数&抽象类&虚继承
    指针的各式定义
    开源站点
    WCF、Net remoting、Web service概念及区别
    asp.net 分布式应用开发
    C++多重继承二义性解决
    ATL7窗口类详细剖析
    Code review
    GitHub 上100个最受欢迎的Java基础类库
    JAVA基本类库介绍
  • 原文地址:https://www.cnblogs.com/n1ckyxu/p/6043998.html
Copyright © 2011-2022 走看看