Воссоздать NSTimer? - PullRequest
       22

Воссоздать NSTimer?

0 голосов
/ 29 марта 2011

Я аннулирую свой NSTimer, как это (как определено в моем .h)

if(myTimer2 != nil) { 
[myTimer2 invalidate];
myTimer2 = nil;
}

Теперь, как я буду повторно показывать его (используя то же имя)?

Спасибо.Колтон

Ответы [ 2 ]

1 голос
/ 29 марта 2011

Два быстрых замечания о вашем if утверждении:

  1. != nil является избыточным: цель C - это C (а затем и некоторые ...), что означает, что все, что оценивается как 0 имеет логическое значение «НЕТ».
  2. В Objective C сообщение nil совершенно правильно.Так что в этом случае выполнение этой проверки дает очень мало пользы.

Теперь, чтобы ответить на ваш вопрос:
Вы воссоздаете таймер так же, как и в первый раз.

В идеале (поскольку вам, кажется, нужно это делать неоднократно), вы разделили настройку таймера на отдельный метод.Поэтому все, что вам нужно сделать, это снова вызвать этот метод.

1 голос
/ 29 марта 2011

Предполагая, что myTimer2 является сохраненным свойством:

if(myTimer2 != nil) { 
      [myTimer2 invalidate];
      self.myTimer2 = nil;
}
self.myTimer2 = [NSTimer timerWithTimeInterval....];
...