NSDate
是否有这样的第三方扩展?寻找NSMutableDate类
我需要一些方法来调整日期(增加或减少日/月/年)并保持日期对象在同一内存中(所以myDate = getNewDateByAdjustingOldOne (myDate);
将不被接受)。
如果没有实现可变日期,是否可以获得内部NSDate
数据(考虑到无法访问NSDate
类接口中的内部数据)。
NSDate
是否有这样的第三方扩展?寻找NSMutableDate类
我需要一些方法来调整日期(增加或减少日/月/年)并保持日期对象在同一内存中(所以myDate = getNewDateByAdjustingOldOne (myDate);
将不被接受)。
如果没有实现可变日期,是否可以获得内部NSDate
数据(考虑到无法访问NSDate
类接口中的内部数据)。
真的是做myDate的内存开销= getNewDateByAdjustingOldOne(myDate);是如此之小,我真的不会担心它。过早优化可能导致完全可避免的错误。
您可以使用NSCalendar
和NSDateComponents
作为可变日期。可以设置“预制”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];
苹果在Calendrical Calculations上写了一些不错的文档。
原因是其他对象保持对'myData'的引用,我应该在调整后手动同步它们。 – brigadir
如果您需要保持所有引用不变,则始终可以创建一个包装对象并使用指向该对象的指针。将是避免必须更新所有日期引用的好方法。 – diegoreymendez