【发布时间】:2012-03-22 10:36:14
【问题描述】:
我希望能够暂停/恢复我的 NSTimer 并找到 this below answer:
NSDate *pauseStart, *previousFireDate; -(void) pauseTimer:(NSTimer *)timer { pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain]; previousFireDate = [[timer fireDate] retain]; [timer setFireDate:[NSDate distantFuture]]; } -(void) resumeTimer:(NSTimer *)timer { float pauseTime = -1*[pauseStart timeIntervalSinceNow]; [timer setFireDate:[previousFireDate initWithTimeInterval:pauseTime sinceDate:previousFireDate]]; [pauseStart release]; [previousFireDate release]; }
效果很好。但是,在测试我的应用程序是否泄漏时,它告诉我这里有泄漏:
[timer setFireDate:[previousFireDate initWithTimeInterval:pauseTime sinceDate:previousFireDate]];
谁能帮帮我?从我使用的代码中可以看出,pauseStart 和 previousFireDate 保留在 pauseTime 方法中,并在 resumeTimer 方法中释放。
非常感谢
山姆
【问题讨论】:
标签: iphone objective-c xcode memory-leaks nstimer