Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 检查NSDate对象的NSArray中是否存在NSDate对象_Ios_Xcode_Nsarray_Nsdate - Fatal编程技术网

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

Ios 检查NSDate对象的NSArray中是否存在NSDate对象,ios,xcode,nsarray,nsdate,Ios,Xcode,Nsarray,Nsdate,我有NSDate对象的NSArray,但我想知道是否有办法检查NSArray中是否已经有NSDate对象,例如: if ([myArrayOfDates containsObject:thisDate]) 其中thisDate是带有日期的nsdate对象 我会非常感谢你的帮助。这些都是小事情,如果你自己去尝试,会让你变得更好,并激励你下次自己去尝试。你看,我自己也不知道答案,所以我创建了一个小测试代码,看看是否可以使用[NSDate equal:]方法比较具有相同日期的不同日期对象,下面是我

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

if ([myArrayOfDates containsObject:thisDate]) 
其中thisDate是带有日期的nsdate对象


我会非常感谢你的帮助。

这些都是小事情,如果你自己去尝试,会让你变得更好,并激励你下次自己去尝试。你看,我自己也不知道答案,所以我创建了一个小测试代码,看看是否可以使用[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");
}

你自己试试看。

如果([myArrayOfDates containsObject:thisDate])
当你使用该代码时发生了什么?那么你是在寻找精确的匹配,还是仅仅是“足够接近”的东西?