title: How to use NSTimer to update a label?
body: <p>I have a label that I want to update the text of it with multiple displays over a period of time when a touch is recoded. I can use performSelector but it seems bulky...</p>
  
  <pre><code>- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  [self changeTextForLabel:@"A text (1)"]; // When touch begins the display is changed
  [self performSelector:@selector(changeTextForLabel:) withObject:@"Another text (2)" afterDelay:1];               // After 1 second update to this
  [self performSelector:@selector(changeTextForLabel:) withObject:@"And another text (3)" afterDelay:2];           // after 2 seconds update to this
  [self performSelector:@selector(changeTextForLabel:) withObject:@"And even another text (4)" afterDelay:3];      // After 3 seconds update to this
  [self performSelector:@selector(changeTextForLabel:) withObject:@"And yes even another text (5)" afterDelay:3]; }  
  </code></pre>
  
  <p>I heard people talk about using timers to execute a method every x seconds, but i dont understand how to use it for my situation. What i have is..</p>
  
  <pre><code>- (void)updateLabel:(NSTimer *)theTimer {
  [self changeTextForLabel:@"A text (1)"];
  [self changeTextForLabel:@"Another text (2)"];
  [self changeTextForLabel:@"And another text (3)"];
  [self changeTextForLabel:@"And even another text (4)"];
  [self changeTextForLabel:@"And yes even another text (5)"];
  }
  - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel:) userInfo:nil repeats:YES]; }
  </code></pre>
  
  <p>But this only displays the very last message.. but i want it to display one after another after 1 second.
  I tried to use pause() or sleep() in between every message but it only delays the time before the the label is updated and it gets updated with the last message.</p>