NSTimer неповторяющийся таймер - получить timeInterval - PullRequest
2 голосов
/ 30 июля 2010

Я использую экземпляр NSTimer, который вызывается через 300 секунд.Код выглядит примерно так:

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

Я понимаю, что, поскольку это неповторяющийся таймер, то [timer timeInterval];возвращает 0. Есть ли способ получить истекшее время?Мне нужно использовать прошедшее время (скажем, 20 секунд), когда приложение переходит в фоновый режим на iOS4, таймер приостанавливается, и мне нужно получить истекшее время для таймера, чтобы я мог вычесть это время + elapsedTime +, в течение которого приложениефон из исходного 300 и сделайте что-нибудь, если время будет превышено.

Спасибо.

1 Ответ

3 голосов
/ 01 августа 2010

Сохранить текущее время - тогда прошедшее время является текущим временем в точке фонового изображения минус это время.

NSDate *timerStartTime = [NSDate date];

позже

NSTimeInterval elapsed = [[NSDate date] timeIntervalSinceDate:timerStartTime];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...