对于NSDates没有计数器的循环

时间:2018-04-23 14:15:29

标签: ios objective-c for-loop

我想增加一个日期,直到它到达当前日期。我希望它一次增加一周,所以如果日期开始于两周前的星期三3或上周,星期三3,它将增加到 next 星期三3,然后停止。

我熟悉的大多数for循环都使用计数器,即for (i=0;i<10;i++),但这并不适用于计数器。我该如何做以下的事情?

NSDate *now = [NSDate *date];
NSDate *newStartDate;

for (newStartDate<now) {
//increment date
}

2 个答案:

答案 0 :(得分:1)

&lt;运算符只会检查指针值而不是日期

while([startDate earlierDate:stopDate] == startDate) {
    ....
}

答案 1 :(得分:1)

// While the new date/time comes before the current date/time
while ([now compare:newStartDate] != NSOrderedDescending) {
    // Add one week's worth of seconds to the new start date
    newStartDate = [newStartDate dateByAddingTimeInterval:7 * 24 * 60 * 60];
}