Відповідно до документації Apple відNSDate compare:
Повертає значення NSComppareResult, яке вказує на тимчасове впорядкування приймача та іншу дату.
- (NSComparisonResult)compare:(NSDate *)anotherDate
Параметри anotherDate
Дата порівняння приймача. Це значення не повинно бути рівним нулю. Якщо значення дорівнює нулю, поведінка не визначена і може змінитися в майбутніх версіях Mac OS X.
Повернене значення
Якщо:
Приймач і anotherDate точно рівні між собою,
NSOrderedSame
Приймач пізніше за часом, ніж інша дата,
NSOrderedDescending
Приймач раніше за часом, ніж інша дата,
NSOrderedAscending
Іншими словами:
if ([date1 compare:date2] == NSOrderedSame) ...
Зверніть увагу, що у вашому конкретному випадку може бути простіше прочитати та написати:
if ([date2 isEqualToDate:date2]) ...
Дивіться Документацію Apple про цю .