我想在 While 循环中使用 [NSDate date] 获取当前日期。我通过这样做来实现这一点:
while (interval > 0.0) {
NSDate *currentDate = [[NSDate alloc] init];
currentDate = [NSDate date];
interval = (float) [newDate timeIntervalSinceDate: currentDate] / 60;
[currentDate release];
}
我不知道为什么内存泄漏显示有大量内存被泄漏。请指导我完成任务的正确方法是什么。
In line NSDate *currentDate = [[NSDate alloc] init];
您创建了一个新对象,您应该释放它。排队currentDate = [NSDate date];
您不会释放旧对象,而只是创建一个指向另一个对象的指针。排队[currentDate release];
您释放了在循环的第二行创建的对象,这可能会导致错误(该对象被标记为自动释放对象,iOS 会为您清理它)。你应该像这样重写你的代码:
while (interval > 0.0) {
NSDate *currentDate = [NSDate date];
interval = (float) [newDate timeIntervalSinceDate: currentDate] / 60;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)