In a buttonClicked method, I want to set the color of the text in a UILabel to black, wait three seconds, then set the color to green. However, the label never turns black. The method waits three seconds, then the UILabel text turns green. I thought that using performSelectorOnMainThread would solve this problem, but it hasn't. The code is below. Many thanks in advance, and apologies if I'm missing something obvious.
Jon R.
-(void) buttonClicked: (id) sender
{
    // (UILabel *) letterLabel is instance variable of TestProgramDelegate
    [letterlabel performSelectorOnMainThread:@selector(setTextColor:) withObject:[UIColor blackColor] waitUntilDone:YES];
    [NSThread sleepForTimeInterval:3];
    [letterLabel performSelectorOnMainThread:@selector(setTextColor:) withObject: [UIColor greenColor] waitUntilDone:YES];
}
 
     
     
     
    