我下面有以下代码,旨在将名为“today”的类变量向前或向后更改一天。它会工作一次,但之后就会崩溃。无论我按左键还是右键,它都会做同样的事情。我究竟做错了什么?
今天的 var 是一个类 var,发起为 ..today = [NSDate date]
这是崩溃的方法:
(IBAction)changeDateByOne:(id)sender{
NSDate *newDay;
NSDate *currentDay = today;
NSTimeInterval secondsPerDay = 24 * 60 * 60;
if(sender == leftButton){
newDay = [currentDay addTimeInterval:-secondsPerDay];
}else if(sender == rightButton) {
newDay = [currentDay addTimeInterval: secondsPerDay];
}
today = newDay;
}
您不仅需要保留创建的日期,还需要释放“今天”所持有的现有值,否则您将泄漏旧的引用。
初始化实例时,使用:
today = [[NSDate date] retain];
我会将最后一行更改为:
[today release];
today = [newDay retain];
最后,在 dealloc 方法中添加:
[today release];
在调用 [super dealloc] 之前;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)