[self performSelector:@selector(initContentView) withObject:nil afterDelay:2];
在这里会延时2秒执行initContentView方法。
有时候,需要取消延时操作。尤其当这个延时比较长的时候。比如:
- 延时10秒显示一个动画,可未到10秒,用户操作退出了当前的视图
- 演示10秒隐藏当前的工具条菜单,在此期间,又对菜单做了操作,也许只是touch了菜单区域
上述情况,都需要取消延时调用,后一种情况,还需要启动新的延时调用。
解决办法很简单:
[NSObject cancelPreviousPerformRequestsWithTarget:self]
这样就取消了self对象所有的延时操作。