今日より前の日付かを判断する

今日より前の日付かを判断する方法

NSDateクラスの「timeIntervalSinceNow」メソッドを使うことで可能です。

NSDate *targetDate = ...; // 日付
if ([targetDate timeIntervalSinceNow] <= 0) {
    // 日付が本日以前
} else {
    // 日付が本日以降
}

二つの日付を比較する方法

NSDate *targetDate = ...;
NSDate *targetDate2 = ...;
NSComparisonResult result = [targetDate compare: targetDate2];

Switch (result) {
    case NSOrderedAscending:
          // targetDate が古い時
         break;
    case NSOrderedSame:
          // targetDate と一致する時
         break;
    case NSOrderedDescending:
          // targetDate が新しい時
         break;
}