Показывать NSTimeInterval постоянно - PullRequest
0 голосов
/ 13 июня 2011

новичок в iOS SDK и Objective-C и просто быстрый вопрос о NSTimeInterval.

У меня очень простая игра, и я хочу показать, как долго игра ведется (чтобы я мог сэкономить время).

Теперь, конечно, если я установлю текст метки примерно так:

NSTimeInterval elapsedTime = [startDate timeIntervalSinceNow];
theLabel.text = [NSString stringWithFormat:@"%.2f", -elapsedTime];

Текст метки будет означать, сколько времени пройдет с момента запуска игры, что составляет 0 секунд.

Каким образом я могу иметь объект elapsedTime, «работающий в фоновом режиме», чтобы игрок мог видеть, сколько времени он / она играл все время?

1 Ответ

1 голос
/ 13 июня 2011

Посмотрите на класс NSTimer, чтобы запланировать таймер на заранее установленное время и обновить метку в обратном вызове.

-(void)viewDidLoad {
  [super viewDidLoad];

  // Add timer at 60 frames a second
  timer = [NSTimer scheduledTimerWithInterval:1.0/60.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats: YES];  
}

-(void) targetMethod: NSTimer * theTimer {
... update label
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...