вызов метода один раз с помощью CADisplayLink

#iphone #xcode #methods #if-statement #timer

#iPhone #xcode #методы #if-оператор #таймер

Вопрос:

Итак, у меня есть метод с CADisplayLink на нем.В этом методе у меня есть :

  if (leScore % 1000 == 0) { 
            //call a method one time        
 }
  

Я хотел бы вызвать метод один раз, если % 1000 == 0, моя проблема в том, что, поскольку в моем методе есть CADisplayLink, я не могу вызвать только один раз другой метод, когда % 1000 == 0 (он вызывает метод со скоростью 60 кадров в секунду).Как я могу решить эту проблему, пожалуйста? извините за мой английский, я француз :/

Комментарии:

1. Будь ты проклят, интернет, я дурачился le score

Ответ №1:

Просто создайте логическую переменную, чтобы проверить, вызывается ли метод уже или нет. Установите для него значение NO, затем измените блок if следующим образом:

 if (!isMyMethodCalled amp;amp; leScore % 1000 == 0) {
 isMyMethodCalled = YES;
// and call the method
}
  

Комментарии:

1. извините, но я не понимаю. Я вызываю свой метод с помощью [self mymethod] вот так? но это не меняется

2. просто создайте логическую переменную. сначала установите для него значение NO, затем установите для него значение YES, если вы вызвали функцию. и перед вызовом функции просто проверьте, вызывали ли вы ее уже или нет (проверяя, является ли логическая переменная YES или NO ).