По сути, у меня есть массив кнопок, которые я хочу перебирать и выделять (среди прочего) одну за другой с задержкой между ними. Кажется, это простая задача, но мне не удается заставить ее работать чисто, но при этом реагировать.
Я начал с этого:
for MyButton *button in buttons {
[button highlight];
[button doStuff];
usleep(800000); // Wait 800 milliseconds.
}
Но это не отвечает, поэтому я попытался использовать цикл выполнения.
void delayWithRunLoop(NSTimeInterval interval)
{
NSDate *date = [NSDate dateWithTimeIntervalSinceNow:interval];
[[NSRunLoop currentRunLoop] runUntilDate:date];
}
for MyButton *button in buttons {
[button highlight];
[button doStuff];
delayWithRunLoop(0.8); // Wait 800 milliseconds.
}
Однако, это также не отвечает.
Есть ли разумный способ сделать это? Кажется громоздким использование потоков или NSTimer
s.