Fork me on GitHub

延时执行和取消延时执行

[self performSelector:@selector(initContentView) withObject:nil afterDelay:2];

在这里会延时2秒执行initContentView方法。

有时候,需要取消延时操作。尤其当这个延时比较长的时候。比如:

  • 延时10秒显示一个动画,可未到10秒,用户操作退出了当前的视图
  • 演示10秒隐藏当前的工具条菜单,在此期间,又对菜单做了操作,也许只是touch了菜单区域

上述情况,都需要取消延时调用,后一种情况,还需要启动新的延时调用。

解决办法很简单:

[NSObject cancelPreviousPerformRequestsWithTarget:self]

这样就取消了self对象所有的延时操作。

posted on 2012-02-09 15:25  pengyingh  阅读(641)  评论(0)    收藏  举报

导航