1.gcd timer 因为如果不用GCD,编码需要注意以下三个细节: 1.必须保证有一个活跃的runloop. performSelector和scheduledTimerWithTimeInterval方法都是基于runloop的.我们知道,当一个应用启动时,系统会开启一个主线程,并且把主线程的runloop激活,也就是run起来,并且主线程的runloop是不会停止的.所以,当这两个方法在主线程可以被正常调用.但情况往往不是这样的.实际编码中,我们更多的逻辑是放在子线程中执行的.而子线程的…