2018-07-26

                                                   对象去重法

        程序中一般会用到去重复对象的功能,好多都是自定义对象,所以用一般的NSSet,  NSDic,肯定是不能满足需要的,当然你也可以把它们设置为你去重的中间步骤。不过即使这样还是有个问题,它们是无序的,也就是说当你需要它们保持原先的顺序是不可能的。

        那么怎样去重呢?哈哈,其实真的非常简单:

        我们可以先创建两个可变数组:

        保存对象唯一表示符的id数组 

        NSMutableArray *arrMid = [[NSMutableArray alloc] init]; 

        保存对象数组

        NSMutableArray *arrMobj = [[NSMutableArrayalloc]init];

        接下来遍历带有重复对象的原数组

        for  (ObjModel  *objModel  in  arrMoriginal){

                if(![arrMid   containsObject:  objModel.strId]){

                    [arrMid   addObject:  objModel.strId];

                    [arrMobj    addObject:  objModel];

                 }

         }

        [arrMoriginal  removeAllObjects];

        [arrMoriginal  addObjectsFromArray:  arrMobj];

你可能感兴趣的:(2018-07-26)