Я не совсем уверен, что вы после. Если вы установите временной интервал в 10 минут / 25 минут и т. Д. Вместо 1,0 / 10, то в коде, сработавшем по времени, вы узнаете, какой временной интервал для таймера.
Вы всегда можете запросить временной интервал, используя метод экземпляра timeInterval
. Возможно, следующим образом.
- (void)updateTimer:(NSTimer*)timer
{
if ([timer timeInterval] == 10 * 60) // 10 minutes have elapsed
{
// Do something for this timer.
}
else if ([timer timeInterval] == 20 * 60) // 20 minutes have elapsed
{
}
}
Обратите внимание, что я добавил таймер в качестве аргумента для вашей updateTimer
функции. Затем вам нужно будет использовать селектор @selector(update:)
(с двоеточием в конце!) В вашем методе scheduledTimerWithTimeInterval
. Когда вызывается ваш селектор обратного вызова, он передает ему таймер.
Или, если у вас есть указатель на таймер, созданный вами в startTimerButton, вы можете использовать его следующим образом:
- (void)updateTimer:(NSTimer*)timer
{
if (timer == myTenMinuteTimer) // 10 minutes have elapsed
{
// Do something for this timer.
}
else if (timer == myTwentyMinuteTimer) // 20 minutes have elapsed
{
}
}
Обратите внимание, что во второй причине вы сравниваете указатель на два объекта и используете его, где, как и в первом, вы сравниваете значение метода для двух объектов, поэтому объекты не обязательно должны быть указателем к тому же объекту, чтобы быть оцененным, чтобы быть истинным.
Надеюсь, это поможет!