Есть ли другая альтернатива, кроме использования NSTimer. Я получил CFRunLoopTimer, но не смог заставить его работать.
Причина, по которой я ищу альтернативу, заключается в том, что в моем коде, даже если я делаю недействительным таймер, он все еще срабатывает. Мой код выглядит примерно так
<code>
-(void)SetTimerTo:(NSInteger)timePeriod
{
self.alarmTimer=[NSTimer scheduledTimerWithTimeInterval: timePeriod
target: self
selector: @selector(TimerFired)
userInfo: nil
repeats: NO];
}</p>
<p>-(void)StopTimer
{
[self.alarmTimer invalidate];
self.alarmTimer=nil;
}</p>
<p>-(void)TimerFired
{
//Show alarm expired.
//Check if any other alarms are scheduled.If any again set the alarm. </p>
<p>}</p>
<p>-(void)UpdateTimerTo:(NSInteger)timePeriod
{
if([self.alarmTimer IsValid])
{
[self.alarmTimer invalidate];
}
self.alarmTimer=[NSTimer scheduledTimerWithTimeInterval:timePeriod
target: self selector:@selector(TimerFired) userInfo: nil repeats: NO];
}
-(void)DeleteAlarm
{
[self StopTimer];
}
Проблема в том, что если я обновляю время больше, чем ранее установленное время, то таймер также срабатывает только в старое время. Пожалуйста, помогите, я застрял с этим ....