Xco*_*der 3 iphone objective-c nsdate
我在下面的代码中有以下代码,用于将名为"今天"的类var向前或向后更改一天.它会工作一次,然后崩溃.无论我按下左按钮还是右按钮,它都会做同样的事情.我究竟做错了什么?
var今天是一个类var,发起为..今天= [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;
Run Code Online (Sandbox Code Playgroud)
}
您不仅需要保留创建的日期,还需要释放"今天"所持有的现有值,否则您将泄漏旧的引用.
初始化实例时,请使用:
today = [[NSDate date] retain];
Run Code Online (Sandbox Code Playgroud)
我会将最后一行更改为:
[today release];
today = [newDay retain];
Run Code Online (Sandbox Code Playgroud)
最后,在你的dealloc方法中,添加:
[today release];
Run Code Online (Sandbox Code Playgroud)
在调用[super dealloc]之前;
| 归档时间: |
|
| 查看次数: |
3182 次 |
| 最近记录: |