[iPhone] Timerを使ってストップウォッチを作る

Swift3ではタイマーの使い方が色々と変わりました。
こちらはTimerを使って簡単なstopwatchを作ってみました。
 

Swift 4.0
Xcode 9.2

 

Timer

 
API Referenceでは色々な使用法を想定していますが、scheduledTimerを使うやり方が分かりやすいでしょう。
 

 

 

Timerの基本的使い方

 
スケジューリングしない方法もありますが、今回は2つ目のメソッドを使ってみます。
 
ViewController.swift

 
いきなりアプリ起動とともにTimerを使う事は無いかもしれませんが、viewDidLoadでは早いこともあるのでviewDidAppearでTimerのスケジュールをして開始した方がいいようです。
 
fire()は使わなくても起動します(入っていてもエラーにはなりませんが)
 
Logはこのようになりました。
 

 
0.01sec間隔ですが0.001secのズレがあります。余り厳しくタイムカウントをするとバッテリー消費が激しいでしょうね

 

Stopwatchサンプルコード

 
Timerを使ってStopwatchアプリを作ってみます。
インターバルでカウントアップしてそれを元にタイムを表示してもいいのですが、ちょっと厳密にディレーが起きても開始時間からのタイムを取り出すようにしてみました。
 
ViewController.swif

 
タイムをformatterで1つのLabelにしようと思ったのですが、Font幅が一定で無いと微妙に表示位置が動きます。冗長的ですがラベルを分けて表示させました。
 
後はstoryboardでボタンとタイムを表示するラベルを紐付けます。それぞれフォントサイズや背景色を適宜合わせて出来上がりです。

 

サンプル動画

 

 
 
References:
Timer – Foundation | Apple Developer Documentation
Date – Foundation | Apple Developer Documentation

スマホの下取り

まだ1年も使っていないスマホを新機種に変えたくて下取りしようとお店に持ち込んだことがありますが
結局なんだかんだと思ったほどの金額になりませんでした(涙

このネットオフは専業のため高額買取が可能で、お店に行く時間が無い人にとっては送料無料の宅配便が自宅まで引取りに来てくれるのは助かります。

定額買取キャンペーン中であればキズがあっても付属品が無くても減額無しなのでお得です。」


 

 

誤字脱字、意味不明などのご意見は 謙: e-mail まで
ブックマークしておくと便利です このエントリーをはてなブックマークに追加
Twitter:




Apple Watch Series 4
44mm
(GPS)/(GPS+Cellular)
スペースグレイアルミニウムケース
ブラックスポーツバンド




ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする