2010-07-30 3 views
2

300 초 후에 호출되는 NSTimer 인스턴스를 사용 중입니다. 코드는 다음과 같은 것입니다 :NSTimer 비 반복 타이머 - retrieve timeInterval

timer = [[NSTimer scheduledTimerWithTimeInterval:300 target:self selector:@selector(aMethod) userInfo:nil repeats:NO] retain]; 

본인은이 반복되지 않는 타이머이기 때문에, 그 [타이머 TimeInterval이] 경과 시간을 얻을 수있는 방법이 있습니까? 응용 프로그램이 iOS4에서 배경을 입력 할 때 경과 된 시간 (예 : 20 초)을 사용해야하고 타이머가 일시 중지되고 타이머가 경과 된 시간을 가져와야하므로이 elapsedTime + 앱이 있던 시간을 뺄 수 있습니다. 배경을 원래 300에서 찾은 다음 시간이 초과되면 작업을 수행하십시오.

감사합니다.

답변

3

현재 시간을 저장하십시오 - 경과 시간은 그라운드에서 백 그라운드를 뺀 시간의 현재 시간입니다.

NSDate *timerStartTime = [NSDate date]; 

나중에

NSTimeInterval elapsed = [[NSDate date] timeIntervalSinceDate:timerStartTime];