вызывать функцию через определенные секунды без использования таймера - PullRequest
2 голосов
/ 04 августа 2011

Я вызываю функцию через 180 секунд, используя таймер. Но таймер иногда ведет себя по-разному и вызывает функцию несколько раз за 180 секунд.

подскажите, пожалуйста, как вызывать функцию через каждые 180 секунд, пока я не отправлю сообщение об остановке без использования таймера.

код

если (! Tmr_CallWebService)

{

tmr_CallWebService = [NSTimer scheduleTimerWithTimeInterval: 180 target: селектор отслеживания класса: @selector (startLocationTracing) userInfo: nil повторяется: YES];

}

Заранее спасибо

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

Я думаю, что есть метод для решения этой задачи, используйте его вот так

[self performSelector:@selector(yourMethodName) withObject:[NSArray arrayWithObjects:firstArgument,secondeArgument,nil] afterDelay:180];

используйте nil вместо массива, если у вас нет аргументов в этом методе.

3 голосов
/ 04 августа 2011

Вы можете использовать - (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay из NSObject

...