对象去重法
程序中一般会用到去重复对象的功能,好多都是自定义对象,所以用一般的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];