Сравните даты, используя цель какао c - PullRequest
1 голос
/ 03 декабря 2009

Нужно ли мне писать следующий метод для вызова его в части if ....

-(NSComparisonResult) compare:(NSDate *)expDate{}

если да, то как и где я должен написать этот метод, чтобы следующий код работал нормально?

if (licenseDictionary == nil)
    return @"Not Registered";
else if([today compare:expDate] == NSOrderedAscending)
{   
    [gotoButton setEnabled:YES];
    return [licenseDictionary objectForKey:@"Name"];
}
else
    return @"License Expired";

1 Ответ

10 голосов
/ 03 декабря 2009

Есть также earlierDate: и laterDate: и isEqualToDate:.

Документацию по ним можно найти здесь .

Так что-то вроде:

if ([today laterDate:expDate] == expDate)

Это здесь, в браузере, сухо, но я думаю, что это то, что вам нужно.

РЕДАКТИРОВАТЬ: я исправил опечатку в выше, вам не нужно использовать compare:. laterDate: и earlierDate: обрабатывают сравнения и возвращают объект позже или раньше соответственно.

Таким образом, приведенный выше код говорит, какой из них является более поздним, сегодняшним или expDate, и если expDate является более поздним (я думаю, здесь должно работать сравнение указателей, но если нет, попробуйте isEqualToDate: вместо этого), то он еще не истек, и их Лицензия должна быть действительной.

Надеюсь, это поможет придать больше смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...