#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 ).