写于篇头
很多时候我们在代码中延迟执行代码, 情况分很多种,列一下我常用的在哪些情况
performSelector
很多时候用于延迟展示动画,例如转场动画等, 小延迟来产生的视觉误差,达到动画之美.
NSTimer scheduled
常用来一些页面的定时器, 例如一些App上的广告倒计时, NSTimer可以定时执行一些动作. 且repeats参数,可以决定这里的循环.
注意Timer本身是被Runloop强引用的,所以如果是定义为property,用weak修饰.
然后可在invalidate
中停止和销毁
GCD
gcd中可以指定线程, 常用来做异步的处理,不阻塞主线的操作, 例如延迟网络加载so on.