可能重复: 移除nsarray中的重复项
嗨朋友们,
我将价值存储在nsarray中,我必须删除重复的数据,我的意思是完全如此(14/12/2010,已支付,15/12/2010,待决,15/12/2010,待决,16/12/2010,已支付)应是(14/12/2010,已支付,15/12/2010,待决,16/12/2010,已支付)。谁能建议我最好的方法,以消除重复,其中有两个不同的日子。
提前谢谢。
你好,萨蒂什
发布于 2010-10-20 10:02:48
您可以使用NSDictionary,其中key = NSDate和value = status (付费/挂起)。在字典中插入任何日期时,请检查字典的objectForKey: NSDate,如果它返回零,则可以插入新日期。
发布于 2010-10-20 07:58:48
使用NSSet (我们的NSMutableSet)。
集合中的对象必须响应NSObject协议方法哈希和isEqual:(有关更多信息,请参见NSObject )。见集合编程主题
另一种解决方案是循环数组的每个元素,以便在其他数组(可变的)中添加元素,如果不重复的话:
NSMutableArray* filteredArray = [[NSMutableArray alloc]init];
for (id obj in array) {
BOOL duplicated=NO;
for (id objTest in filteredArray) {
if ((obj.date==objTest.date) && (obj.status==objTest.status)) {
duplicated = YES;
}
}
if (duplicated==NO) {
[filteredArray addObject:obj];
}
}https://stackoverflow.com/questions/3975770
复制相似问题