Как выполнить несколько действий с неблокирующей задержкой? - PullRequest
0 голосов
/ 09 августа 2011

Мне нужно вывести первое изображение на экран, затем поставить второе через 1 секунду, а затем - последнее через одну секунду. Кроме того, это должно быть сделано неблокирующим образом :) Как вы это делаете в таких случаях? Я думал о вложении нескольких методов класса UIView animateWithDuration, но мне не нужны никакие анимации, мне просто нужно вывести несколько изображений на экран прямым способом с задержкой после каждого шага.

ОБНОВЛЕНИЕ: ИМХО, это слишком тяжеловесный подход, чтобы использовать NSTimer для этой простой проблемы. Мне нужно получить ссылку, запланировать 3 разных таймера (или один с очень if'y методом), а затем как-то остановить. Если это так, я хотел бы, чтобы все это из одного метода. В этом случае, если я запускаю таймер с scheduleTimerWithTimeInterval, тогда IMHO мне нужно остановить (сделать недействительным) где-то еще или что-то?

Ответы [ 2 ]

5 голосов
/ 10 августа 2011

Использование NSObject s performSelector:withObject:afterDelay:.

0 голосов
/ 10 августа 2011

используйте [NSThread detachNewThread:Selector:toTarget:withObject:].Вы можете получить событие, когда текущий поток закончен, используя [[NSThread currentThread] isFinished].Таким образом, вы можете выполнять все задачи неблокирующим образом.Для получения дополнительной информации см. Ссылку NSThread Class здесь

Happy Coding!

...