Я использую NSTimer для вызова метода, который называется Lose. У меня был таймер, который, когда он закончился, назывался Lose, но я потерял все из-за ошибки жесткого диска. Попробовав все это снова, я не могу заставить метод вызываться.Почему мой NSTimer не вызывает мой метод по истечении срока?
Timer = [NSTimer timerWithTimeInterval:timeMax target:self selector:@selector(Lose) userInfo:nil repeats:NO];
Lose объявлена в моем файле .h, как это:
-(void)Lose;
Кроме того, мой метод выглядит следующим образом:
-(void)Lose{
Text.hidden = NO;
scoreLabel.hidden = NO;
Target.hidden = YES;
Targetx.hidden = YES;
if (Score > highScoreNumber) {
highScoreAchieved.hidden = NO;
highScoreNumber = Score;
}
}
переменная timeMax является ИНТ объявлена в моем .h, как и в прошлый раз. всякий раз, когда цель используется в моей игре, timeMax становится на 0,03 секунды короче. Я делаю это вот так:
timeMax = 5 - (Score * 0.03);
Я не помню, чтобы он выглядел другим перед массивным аппаратным сбоем, но почему он не работает?
Пожалуйста, найдите время, чтобы ознакомиться с [соглашениями об именах объектов-целей] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Conventions/Conventions.html#//apple_ref/ DOC/UID/TP40011210-CH10-SW1). –
Какова ценность оценки? Есть ли вероятность того, что 'timeMax' будет отрицательным? –
@lead_the_zeppelin timeMax начинается с 5, когда нажата кнопка запуска. Счет начинается с 0. – Yugaman