코딩하는 나귀

[NSTimer+Extras.h]


#import <Foundation/Foundation.h>


@interface NSTimer (Extras)


-(void)pauseTimer;

-(void)resumeTimer;


@end


[NSTimer+Extras.m]


#import "NSTimer+Extras.h"


@implementation NSTimer (Extras)


NSDate *pauseStart, *previousFireDate;


- (void)pauseTimer

{

    pauseStart = [[NSDate dateWithTimeIntervalSinceNow:0] retain];

    previousFireDate = [[self fireDate] retain];

    [self setFireDate:[NSDate distantFuture]];

}


- (void)resumeTimer

{

    float pauseTime = -1*[pauseStart timeIntervalSinceNow];

    [self setFireDate:[previousFireDate initWithTimeInterval:pauseTime sinceDate:previousFireDate]];

    [pauseStart release];

    [previousFireDate release];

}


@end