スポンサーリンク

【Swift】常に数字が変わる時計を表示する方法ご紹介。〜ミリ秒時計の作り方〜

Swift
スポンサーリンク

今回の記事はSwiftを用いてアプリ内に常に数字が変わる時計を表示する方法をご紹介します。今回はミリ秒時計を作成してみます。初心者にも分かりやすいように記載していくので是非参考にしてみて下さい。

スポンサーリンク

時計を表示するための時間を取得

現在の時間を取得するのは簡単です。

let dt = Date()
print(dt)

これで現在時間が出力されます。

ミリ秒を表示させる場合は下記を追加します。

let dateFormatter = DateFormatter()

// DateFormatter を使用して書式とロケールを指定する
dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "HmsSSS", options: 0, locale: Locale(identifier: "ja_JP"))

ここを書き換えると好きな書式で出力できます。

fromTemplate: "HmsSSS"

この出力する時間をlabel等に常に更新されるように表示していきましょう。

ミリ秒時計を表示

Xcodeで表示を行っていくのでプロジェクトを作成し、各部品を貼り付けていきます。

このLabelを適当な名前でoutlet接続します。今回は「timer_label」

import UIKit
import AVFoundation

class ViewController: UIViewController {


    @IBOutlet weak var timer_label: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()
        var timer = Timer.scheduledTimer(timeInterval: 1/60, target: self, selector: #selector(timeCheck), userInfo: nil, repeats: true)
    }

    @objc func timeCheck(){
            
        let dt = Date()
        let dateFormatter = DateFormatter()

        // DateFormatter を使用して書式とロケールを指定する
        dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "HmsSSS", options: 0, locale: Locale(identifier: "ja_JP"))
        timer_label.text = dateFormatter.string(from: dt)
    }
}

少し解説を行います。

@objc func timeCheck(){
            
        let dt = Date()
        let dateFormatter = DateFormatter()

        // DateFormatter を使用して書式とロケールを指定する
        dateFormatter.dateFormat = DateFormatter.dateFormat(fromTemplate: "HmsSSS", options: 0, locale: Locale(identifier: "ja_JP"))
        timer_label.text = dateFormatter.string(from: dt)
    }

この部分で先ほどの出力をラベルに出力する関数を作っております。

timer_label.text = dateFormatter.string(from: dt)

この関数を「Timer.scheduledTimer」のSelectorに入れることでこのように表示を行うことができております。

buildしてみるとミリ秒時計が常に更新されていると思います。

では今回の記事は以上です。他にも多数のswift関連の記事を記載しているので是非参考にしてみて下さい。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

Swift
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

タイトルとURLをコピーしました