Was*_*sim 4 cocoa-touch objective-c ios4 ios
我想在While循环中使用[NSDate date]获取当前日期.我通过这样做来实现这一点:
while (interval > 0.0) {
NSDate *currentDate = [[NSDate alloc] init];
currentDate = [NSDate date];
interval = (float) [newDate timeIntervalSinceDate: currentDate] / 60;
[currentDate release];
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么Memory泄漏表明存在大量内存泄漏.请指导我完成任务的正确方法.
在行中,NSDate *currentDate = [[NSDate alloc] init];
您将创建一个新对象,您应该将其释放.在行中currentDate = [NSDate date];
你不释放旧对象,你只做一个指向另一个对象的指针.在行中[currentDate release];
你释放一个在循环的第二行创建的对象,这可能会导致错误(该对象被标记为autorelease one,iOS会为你清理它).您应该重写您的代码,如:
while (interval > 0.0) {
NSDate *currentDate = [NSDate date];
interval = (float) [newDate timeIntervalSinceDate: currentDate] / 60;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
984 次 |
最近记录: |