如何使用非阻塞延迟执行多个操作?

时间:2011-08-09 18:39:07

标签: iphone objective-c ios delay nonblocking

我需要在屏幕上放置第一张图像,然后在1秒后放置第二张图像,然后再放置一秒钟后的最后一张图像。此外,这应该以非阻塞的方式完成:)在这种情况下你如何执行?考虑嵌套几个UIView animateWithDuration类方法,但我不需要任何动画,我只需要在每个步骤之后以直接的方式在屏幕上放置几个图像。

更新:恕我直言,这是一个使用NSTimer来解决这个简单问题的重量级方法。我应该得到一个参考,安排3个不同的计时器(或一个非常if'y方法),然后以某种方式停止。如果是这样,我想从一种方法中解决所有问题。在那种情况下,如果我使用scheduledTimerWithTimeInterval启动计时器,那么恕我直言,我需要在其他地方停止(无效)或smth?

2 个答案:

答案 0 :(得分:5)

使用NSObject的{​​{3}}。

答案 1 :(得分:-1)

使用[NSThread detachNewThread:Selector:toTarget:withObject:]。您可以使用[[NSThread currentThread] isFinished]在当前线程完成时获取事件。这就是你可以用非阻塞方式完成所有任务的方式。有关详细信息,请参阅NSThread Class reference here

快乐的编码!