Аннулирование NSTimer - PullRequest
1 голос
/ 18 июля 2011

Если я создаю таймер, который никогда не повторяется

[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(updateSystems) userInfo:nil repeats:NO];

мне все еще нужно сделать его недействительным?

Кроме того, освобождает ли экземпляр один шаг в методе invalidate? Поскольку я не использую alloc, моя переменная таймера не должна быть освобождена, хотя при создании таймера она должна автоматически создавать новый поток? Таймер все еще складывается в стеке? Мне нужна ясность.

Спасибо

Ответы [ 2 ]

3 голосов
/ 18 июля 2011

См. Документацию для метода . Там написано:

повторяет
Если ДА, таймер будет повторно планировать себя до тех пор, пока не станет недействительным. Если НЕТ, таймер станет недействительным после его срабатывания .

1 голос
/ 18 июля 2011

Вы не создаете указатель на NSTimer. Вы используете его напрямую через метод класса. Этот метод не создает новый экземпляр NSTimer, поэтому вам не нужно его выпускать.

...