喜的朋友,
我存儲的NSArray的價值,我必須刪除重複dates.i意味着酷似本次(2010年14月12日,已付,2010年15月12日,待定,2010年15月12日,待定,2010年16月12日)應爲(2010年14月12日,已付,2010年12月15日,待16/12/2010年,支付)。任何人都可以告訴我去除有兩天不同日期的重複的最佳方法。
在此先感謝。
問候, Sathish所在
喜的朋友,
我存儲的NSArray的價值,我必須刪除重複dates.i意味着酷似本次(2010年14月12日,已付,2010年15月12日,待定,2010年15月12日,待定,2010年16月12日)應爲(2010年14月12日,已付,2010年12月15日,待16/12/2010年,支付)。任何人都可以告訴我去除有兩天不同日期的重複的最佳方法。
在此先感謝。
問候, Sathish所在
可以使用的NSDictionary,與鍵= NSDate和值=狀態(付費/待定)。當你在字典中插入任何日期時,檢查字典的objectForKey:NSDate,如果它返回nil,那麼你可以插入新的日期。
使用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];
}
}
你能解釋一下這隻適用於部分不同的項目嗎? – Eiko 2010-10-20 08:00:39
確切的,如果對象有更多的字段... – 2010-10-20 08:02:06
嗨benoit數據是在nsarray。它沒有鍵值對 – 2010-10-20 08:23:07