【发布时间】:2011-03-22 09:33:39
【问题描述】:
从一个日期循环到另一个日期的最简单方法是什么?
我想要的概念是这样的:
for (NSDate *date = [[startDate copy] autorelease]; [date compare: endDate] < 0;
date = [date dateByAddingDays: 1]) {
// do stuff here
}
这当然行不通:没有dateByAddingDays:。即使这样做了,也会留下一大堆自动释放的对象等待销毁。
这是我的想法:
- 我不能只添加
NSTimeInterval,因为一天中的秒数可能会有所不同。 - 我可以把它分解成
NSDateComponents并在组件上加一天,然后重新组装它。但那是又长又丑的代码。
所以我希望有人为此尝试了一些选项,并找到了一个好的选项。有什么想法吗?
【问题讨论】:
-
嗯,关键是没有 dateByAddingDays。 :)
标签: cocoa-touch nsdate foundation