電卓アプリの作成をしてみる5

計算結果履歴の表示

今日は計算結果の履歴を一覧表示にできるようにしていきました。とりあえず画面は以下のようになりました。

シンプルな作りですが計算結果の一覧が表示されているのがわかると思います。一覧表示の出力方法としては、まず表示に使うものとしては Listビューを使います。表示されている計算の一覧は、文字列の配列を単純に上から表示している形になります。具体的な処理としては、ObservableObjectのプロトコルを活用したクラスを用意して、その中に@Publishedのプロパティラッパーの属性を付加した、文字列配列の変数を用意してあげます。そして、SceneDelagateのContentVIewに「.environmentObject(List)」を付加してあげます。(List)はプロトコルを活用したクラスを呼び出して入れています。そうすることによって、状態管理する変数を全体のクラスで使うとこができる画期的なものです。ただ、言葉だけでは理解するのに苦労すると思いますので、後日作成したもののソースコードを公開できるようにしておきます。現在はこのアプリケーションをAppStoreで申請するところの段階まできていますので、とりあえずアプリケーションの申請をしてからソースコードの公開をしていこうとおもいます。

状態管理のやり方が少しづつ身についてきている実感が湧いてくる内容でした。ただ、まだフォルダの構成とかに関連したことについては結局View側に処理が偏った状態です、、でも今回の目標としてはまずアプリケーションをリリースする。というところがあるので、あまり詰め込まずにかんたんに終わらせていしまいたいなと思っています。結構今のところ順調なので、アプリケーションの申請後のリジェクトがなければ、来週には電卓アプリの公開が完了しているかと思うと結構わくわくしてきました。まだ気が早いですが。。

そういえばこの状態管理のやりかたについて参考にしたのは、書籍になるのですが「SwiftUI 徹底入門」という本でして、結構ボリュームのある書籍になっています。部分的に読んでいくだけでも結構一つひとつに例題やソースの書き方がしっかり乗っていますし、説明も結構わかりやすいので今回の状態管理については結構この書籍を読んだおかげですんなり進めることが出来ました。書籍の内容としては、タピオカの注文一覧を作成したり注文する画面を作成したりと一通り進めていくと一つのアプリケーションが完成するような内容でかかれているので、少しづつ進めてタピオカのアプリケーションを完成させるのもおもしろそうではありました。ただ結構量が多いので、自分的には部分部分で読むような辞書のような使い方で使うことになりそうです。ネットの情報では、あまり理解できないところはこちらの書籍を参考にすすめていくと理解が深まると思います。

参考書籍

SwiftUI 徹底入門 金田 浩明

連休最終日は・・・

明日の予定としては、アプリケーションの申請一択ですね。一応アプリケーションのアイコンは作成済みで、画面サイズごとに必要なアイコンを用意したり画面のスクリーンショットをとって紹介用のデザインを作っていこうと思います。そんな感じで連休も折り返してもう最終日ですと言う感じで最近思うのが時間が立つのが早すぎっ・・ それだけ集中できて物事に取り組んで行けているので幸せですけどね。毎日忙しく生きていますがもっと効率よく生産的になれるように、開発の経験積み重ねてアプリケーション開発の技術を使って社会貢献ができるようにしていきたいです。

アプリケーションの申請が終わってからは、Flutterアプリケーションの作成に移りたいと思います。色々挫折していたところから戻りなので、四苦八苦あると思いますがFlutter自体は楽しい開発ができるのでまた開発に戻れるのが楽しみではあります。ただ今後もSwiftUIについても扱っていこうと思っていますので、そのときはまたFlutterから離れるのかなぁと思っています。基本的には今後必要そうだなぁてところから手をつけているので、色々飛ぶこともありますが今後もよろしくお願いたします。