检查NSDate对象的NSArray中是否存在NSDate对象

时间:2014-12-29 21:18:56

标签: ios xcode nsarray nsdate

我有NSDate对象的NSArray,但我想知道是否有办法检查我是否已在NSArray中有一个NSDate对象,如:

if ([myArrayOfDates containsObject:thisDate]) 

其中thisDate是带日期的nsdate对象。

我真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

如果你自己尝试,这些都是小事,让你变得更好,并激励你每次都自己尝试。你知道,我自己也不知道答案,所以我创建了一个小的测试代码,看看是否可以使用[NSDate equal:]方法比较具有相同日期的不同日期对象,这是我的代码,

NSMutableArray *dates = [NSMutableArray array];

NSDateComponents *yesterdayDateComponents = [[NSDateComponents alloc] init];
yesterdayDateComponents.day = -1;


NSDate *yesterdayDate = [[NSCalendar currentCalendar] dateByAddingComponents:yesterdayDateComponents
                                                                      toDate:[NSDate date]
                                                                     options:0];
NSLog(@"%@", yesterdayDate);

[dates addObject:yesterdayDate];

NSDate *newYesterDayDate = [[NSCalendar currentCalendar] dateByAddingComponents:yesterdayDateComponents
                                                                         toDate:[NSDate date]
                                                                        options:0];

if ([dates containsObject:newYesterDayDate]) {
    NSLog(@"Date are same");
}

自己尝试看看。