2つのオプションがあります。
使用する場合timerWithTimeInterval
そのような以下を使用してください。
refreshTimer = [NSTimer timerWithTimeInterval:1.0f target:self selector:@selector(timerHandler) userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:refreshTimer forMode:NSRunLoopCommonModes];
また、モードは2つのオプションです。NSDefaultRunLoopMode
vsNSRunLoopCommonModes
詳しくは。このドキュメントを参照してください:RunLoopManagement
使用する場合scheduledTimerWithTimeInterval
そのような以下を使用してください。
refreshTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerHandler) userInfo:nil repeats:YES];
スケジュールされたタイマーは、実行ループに自動的に追加されます。
詳しくは。このドキュメントを参照してください:タイマープログラミングトピック
要約すれば
" timerWithTimeInterval
"は、追加する実行ループにタイマーを追加することを忘れないでください。
" scheduledTimerWithTimeInterval
"のデフォルトの自動は、現在のループで実行されるタイマーを作成します。