iOSの開発では、タイマーは通常、NSTimerは、操作が正確なハンドリングを必要としない制御することができ、正確NSTimer出発することができませんCADisplayLinkながら、そのたびに画面が更新され、通知システム。最大の利点は、あなたが画面を再描画するために設定されている各画面のリフレッシュ、で正確CADisplayLinkことができるということです!
サンプルコード:
1つ の#import " WKViewController.h " 2 3 @interface WKViewController() 4 5 @end 6 / * * 7 8 * / 9 @implementation WKViewController 10 { 11 CADisplayLink * _timer。 12 } 13 14 - (ボイド)のviewDidLoad 15 { 16 [スーパーのviewDidLoad]。 17 18 _timer = [CADisplayLink displayLinkWithTarget:自己セレクタ:@selector(雪)]。 19 // クロックサイクルがメインランに加え、各スクリーンリフレッシュで動作することが可能である 20 // 1秒間に60回の 21である [addToRunLoop _timer:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode]; 22である } 23である 24 25 - (ボイド)スノー 26 { 27 // の動作を制御するための多くの時間 28 静的 ロングカウンタ= 0 ; 29 30 カウンタ++を、 31は 32 IF(%カウンタ(15)== 0 ){ 33れる // 何か行う 34である } 35 36 } 37 38 39 @end
ます。https://www.cnblogs.com/pretty-guy/p/4067495.htmlで再現