寻找NSMutableDate类

时间:2012-05-16 06:54:36

标签: ios nsdate mutable

是否有NSDate的第三方扩展名?

我需要一些方法来调整日期(增加或减少日/月/年)并将日期对象保存在同一个内存中(因此myDate = getNewDateByAdjustingOldOne (myDate);是不可接受的。)

如果尚未实现可变日期,是否可以获取内部NSDate数据(考虑到NSDate类接口中无法访问内部数据)。

3 个答案:

答案 0 :(得分:1)

您可以让所有需要共享NSDate对象的对象存储指向指针的指针,即

NSDate** pDate

然后在&pDate上执行所有操作。在您调整日期的班级中,只需继续重置

&pDate = NSDate* *newDate*

然后所有对象都将同步。

答案 1 :(得分:0)

真的是做myDate = getNewDateByAdjustingOldOne(myDate)的内存开销;太小了我真的不担心。过早优化可以导致完全可以避免的错误。

答案 2 :(得分:0)

您可以使用NSCalendarNSDateComponents来表示可变日期。设置“预制”NSDateComponents以添加/减去默认的时间量或根据需要制作它们。

NSDateComponents *comps = [NSDateComponents alloc] init];
comps.day = 1;
NSCalendar *cal = [NSCalendar currentCalendar];
// will wind up adding 1 day to the original date.
NSDate *newDate = [cal dateByAddingComponents:comps toDate:origDate options:NSWrapCalendarComponents];

Apple在Calendrical Calculations上写了一些不错的文档。