如何比较for循环中的两个NSDate

时间:2014-03-11 20:57:37

标签: objective-c nsdate

只要 checkDate 小于或等于(< =) periodEnd checkDate,我希望下面的代码执行for循环中的操作必须介于 periodStart periodEnd 之间。

    for(checkDate = period.periodStart; [checkDate compare: period.periodEnd] ==  NSOrderedDescending;
    checkDate = [checkDate dateByAddingTimeInterval:timeInterval])  {

    [self addAppointmentsForDate:checkDate scheduleSet:setOfSchedules appointmentSet:setOfAppts];

}

它永远不会执行for循环的主体......这是它正在使用的数据:

enter image description here

有人可以告诉我如何解决这个问题吗?我在Google和SO中查了一些例子,但一无所获。

1 个答案:

答案 0 :(得分:0)

for循环的条件应该是检查比较是否升序,这意味着checkDate小于periodEnd

正如您从compare:方法的文档中看到的那样:

  返回值      

如果:

     

...

     

接收者的时间早于另一个日期NSOrderedAscending