objective-c - 增加NSDate +1天方法Objective-C?

标签 objective-c cocoa-touch nsdate

这是我用来在导航栏中增加一天并将日期名称设置为标题的方法。我知道这是错误的,因为每次调用时我都会设置“今天”变量。但是每次调用这个方法我都不知道如何增加+1天。

-(void)stepToNextDay:(id)sender
{
    today = [NSDate date];
    NSDate *datePlusOneDay = [today dateByAddibgTimeInterval:(60 * 60 * 24)];
    NSDateFormatter *dateformatterBehaviour = [[[NSDateFormatter alloc]init]autorelease];
    [dateFormatter setDateFormat:@"EEEE"];
    NSString *dateString = [dateFormatter stringFromDate:datePlusOneDay];
    self.navigationItem.title = datestring;
}

最佳答案

将显示的日期存储在 View Controller 的属性(ivar,...)中。这样您就可以在第二天访问时检索当前设置。

如果您想可靠地添加日期,请使用 NSCalendar 和 NSDateComponents 获取“1 天”单位,并将其添加到当前日期。

NSCalendar*       calendar = [[[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar] autorelease];
NSDateComponents* components = [[[NSDateComponents alloc] init] autorelease];
components.day = 1;
NSDate* newDate = [calendar dateByAddingComponents: components toDate: self.date options: 0];

关于objective-c - 增加NSDate +1天方法Objective-C?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6094403/

相关文章:

iphone - 设置对象 nil 与 release+realloc

ios - NSString 到日期的转换

iphone - 如何在 sqlite 和 iPhone 中使用 LIKE 查询

ios - 如何将一个节点附加到另一个节点?

ios - 在 uitextview 中触摸返回时键盘不隐藏

iphone - 如何检测相机叠加 View 旋转

iphone - UINavigationTransitionView、UILayoutContainerView和UIViewControllerWrapperView的作用是什么

swift - 如何使用 Swift3 在​​正确的位置填充日历模板的日期?

objective-c - 计算下一个生日日期

ios - 使用 C 数组的对象的深拷贝