SwiftUI インジケーター

こんにちは。 EveryDaySoft 代表 永田です。

直近ではリモートワークでSwiftUIの開発をフルタイムで稼働しています。あいた時間でも開発を進めています。いつもと変わらない日々を送っています。

日本は新型コロナウィルスの影響で、緊急事態宣言が発令されました。

先日にドラッグストアを通り過ぎる際に、多くの人がおそらくマスクを買うために長蛇の列を並んでいる光景を目にしました。日本は他人に病原菌をうつさないために並んでマスクを買うのかな?しかし、多くの人が集まると病原菌がうつる確率は上がるけど、並ぶ人数単位ならあんまり影響ないか、いや少人数でも感染したニュースもあったしなと思いました。もしかすると、買うために並んだのはマスクではないかもしれないと、ふと思いました。

自分が人間の状態を見る中で、考えた心理と紐づいたのは、ローディング機能です。 よって簡易的なSwiftUIのロード機能を作成しました。 

こういう思考回路は頭が悪いように思われがちですが、余計に悩まずにすむので状況で考え方を選択しています。エモーショナルさは減少してます。

SwiftUIにおけるインジケーターの実装を公開させていただきました。

https://t.co/qPcEjbG2yJ?amp=1

機能はGithubユーザー名を検索すると降順にソートして表示します。タップすると選択されたGithubユーザーのweb画面に遷移します。 

通信が発生して、取得している間にインジケーターを表示して、読み込み中の状態を表示します。

通信が完了して、データを受け取ったらインジケーターが非表示になります。

APIが100本以上あり、ユーザー動作で複雑に通信が走る場合にインジケーターを出す画面で、ステートマシンで状態遷移を管理しながら、インジケーターを出せるアーキテクトをオリジナルで考えています。通信が大量にある場合のソースは公開しないかもしれませんが、何処かのサービスに反映できるかもしれないので、日々技術の向上を図ります。

挙動

https://twitter.com/i/status/1247599634823835650

昨日は早く寝てしまったので、早く起きてしまいました。本日も開発を進めます。

貴重なお時間、お読みくださいまして誠にありがとうございます。