Согласно документации AppleNSDate compare:
Возвращает значение NSComparisonResult, которое указывает временное упорядочение получателя и другую заданную дату.
- (NSComparisonResult)compare:(NSDate *)anotherDate
Параметры anotherDate
Дата, с которой сравнивается получатель. Это значение не должно быть нулевым. Если значение равно нулю, поведение не определено и может измениться в будущих версиях Mac OS X.
Возвращаемое значение
Если:
Получатель и anotherDate в точности равны друг другу,
NSOrderedSame
Получатель позже, чем другой Дата,
NSOrderedDescending
Получатель раньше, чем anotherDate,
NSOrderedAscending
Другими словами:
if ([date1 compare:date2] == NSOrderedSame) ...
Обратите внимание, что в вашем конкретном случае может быть проще прочитать и написать это:
if ([date2 isEqualToDate:date2]) ...
См. Документацию Apple об этом .