Instrumensでテストされたアプリで、pauseTimerとresumeTimerを複数回使用した場合に複数のリークが発生するメモリリークが発生しました。
mファイルで定義
NSDate *pauseStart, *previousFireDate;
-(void)pauseTimer{
pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain];
previousFireDate = [[timer fireDate] retain];
[timer setFireDate:[NSDate distantFuture]];
}
-(void)resumeTimer{
float pauseTime = -1*[pauseStart timeIntervalSinceNow];
//[timer setFireDate:[previousFireDate initWithTimeInterval:pauseTime sinceDate:previousFireDate]];
[timer setFireDate:[NSDate dateWithTimeInterval:pauseTime sinceDate:previousFireDate]];
}
pauseTimerとresumeTimerのこのメモリリークを修正する方法。ユーザーはPauseTimerとresumeTimerを複数回使用できます。
助けに感謝します。
ありがとう。