我在.h部分声明了一个NSDate对象。在.m中,在viedDidLoad中,我使用了以下几行,它工作正常
shownDate = [NSDate date];
shownDate = [shownDate dateByAddingTimeInterval:86400.0];
然后当我点击一个按钮时,我在一个函数
中调用相同的函数 shownDate = [shownDate dateByAddingTimeInterval:86400.0];
但是这里正在崩溃。这些是程序中我使用此功能的唯一3行。有人能告诉我为什么会这样吗?
答案 0 :(得分:4)
取决于你如何称呼它。我没有更多代码的最佳猜测是显示日期是自动释放的。尝试保留它,然后在不再需要它时释放它。
答案 1 :(得分:0)
您需要保留自动释放的shownDate
变量。
而不是
shownDate = [NSDate date];
使用
shownDate = [[NSDate alloc] init];
答案 2 :(得分:0)
shownDate = [NSDate date];
shownDate = [shownDate dateByAddingTimeInterval:86400.0];
[shownDate retain];
从按钮点击时点击:
NSDate newDate = [shownDate dateByAddingTimeInterval:86400.0];
[shownDate release];
shownDate = newDate;
[shownDate retain];
或者make shownDate为retain属性并将其称为self.shownDate,并且将自动处理retain / release。