在 While 循环中使用 NSDate

2024-04-25

我想在 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(使用前将#替换为@)

在 While 循环中使用 NSDate 的相关文章

随机推荐