朋友们,
我将值存储在nsarray中,我必须删除重复的日期。我的意思是这样的(2010年12月14日,付费,15/12/2010,待定,2010年12月15日,待定,16 / 12/2010,已付款)应为(2010年12月14日,付款,2010年12月15日,未决,2010年12月12日,已付款)。任何人都可以建议我删除有两天不同的重复项的最佳方法。
提前致谢。
此致 Sathish所在
答案 0 :(得分:0)
使用NSSet(我们的NSMutableSet)。
集合中的对象必须响应NSObject协议方法hash和isEqual :(有关更多信息,请参阅NSObject)。 请参阅Collections Programming Topics
另一个解决方案是循环数组的每个元素,以便在不重复的情况下将元素添加到另一个数组(可变)中:
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];
}
}
答案 1 :(得分:0)
您可以使用NSDictionary,key = NSDate和value = status(付费/待处理)。当您在字典中插入任何日期时,请检查字典的objectForKey:NSDate,如果它返回nil,则可以插入新日期。