こちらに分かりやすいサンプルの説明があり非常に有り難かったです。
写経終わった後、独自に機能を追加したりしましたが、分かりやすいコードのおかげです。ありがとうございます。

まずはサンプル通りに写経をさせてもらいました。1箇所だけ@mainの所がコンパイル通らなかったので下記のように修正しました。

ContentView()をContentView(viewModel: ContentViewModel())と書き換えました。

ここから少し機能追加しました

カウントアップして、ある値になったらカウンターを止めるという処理を追加しました。
(イメージとしてはDr.STONEでしたが、程遠い…)

ContentView.swift (抜粋)

Viewにカウントする最大値をセットするTextFieldを追加しました。

ContentViewModel.swift (抜粋)

追加したタイマーの最大値を超えたらカウンターが止まるように追加・修正しました。

didSet()というメソッドは変数(プロパティ?)が変更された後にCallされると学びました。
isTimeUPというフラグも用意したけど要らなかったかな。

その他、参考にしたサイトです

今回、SwiftUIでやCombineなど新機能を勉強になりました。


こういうブログもありました。

人気のあるブログ: