100 Days of SwiftUI(DAY 35(Project 4〜6 )マイルストーン:プロジェクト4〜6

あなたが学んだこと
この時点で、SwiftUIの動作に慣れてきているはずです。プログラムの正確なフローを制御する能力を失い、代わりに状態全体を構築してから物事をフローに設定する必要があるため、一部の人にとっては、それは大規模な精神的スピードのバンプになる可能性があることを知っています。ただし、これで4つの完全なプロジェクトが構築され、2つの詳細なテクニックプロジェクトができたので、SwiftUIの動作を理解し始めてください。

これで、必要に応じて作業できるアプリがさらに2つありますが、途中でいくつかの貴重なスキルを身につけました。

Stepperラベルが単純なテキストビューである場合の短縮形の使用を含め、を使用してユーザーから数字を読み取る方法
ユーザーがDatePickerを使用して日付を入力できるようにしdisplayedComponentsます(日付または時刻を制御するパラメーターの使用を含む)。
、、およびを使用してDate、Swiftで日付を操作するDateComponentsDateFormatter
機械学習を取り入れて最新のiOSデバイスの能力を最大限に活用する方法。
を使用してデータのスクロールテーブルを構築する。List特に、データの配列から行を直接作成する方法。
ビューを表示したときにを使用してコードを実行するonAppear()。
Bundleそこから文字列をロードすることを含め、クラスを使用してパスを検索することにより、アプリバンドルからファイルを読み取ります。
でコードをクラッシュさせるfatalError()こと、そしてそれが実際に良いことである理由。
を使用して、文字列のスペルが正しいかどうかを確認する方法UITextChecker
animation()モディファイアを使用して暗黙的にアニメーションを作成します。
遅延と繰り返しを使用してアニメーションをカスタマイズし、イーズインイーズアウトアニメーションとスプリングアニメーションのどちらを選択するか。
animation()修飾子をバインディングにアタッチして、UIコントロールから直接変更をアニメーション化できるようにします。
withAnimation()明示的なアニメーションを作成するために使用します。
animation()アニメーションスタックを制御できるように、単一のビューに複数のモディファイヤをアタッチします。
を使用DragGesture()して、ユーザーがビューを移動できるようにし、ビューを元の場所にスナップします。
SwiftUIの組み込み遷移を使用して、独自の遷移を作成します。
はい、それはたった3つのプロジェクトでは多くの新しい情報ですが、各トピックは個別にカバーされているため(「リストはどのように機能するのですか?」)、実際のプロジェクトのコンテキストでもう一度説明します(「ここで実際にリストを使用しましょう」 」)、それがすべてうまくいったことを願っています。そうでない場合は、前の章に戻って確認することを恐れないでください。それらはどこにも行かず、すべてSwiftUIを習得するのに役立ちます。

先に進む前に、重要なことを1つ追加したいと思います。SwiftUIがどのように機能するかを理解し始めているかもしれませんが、おそらく頻繁に見つかります。–あなたが何を言っているのか正確に表現するのが難しいこと。

アニメーションはこの典型的な例です。アニメーションでは、「そのボタンを–すぐそこに–すぐに回転させる」と言いたいです。そして、SwiftUIは実際には、そのような命令的な考え方のために設計されたのではありません。「ボタンをスピンさせる」とは言えません。

これは先に述べた精神的なスピードのバンプを超えています。SwiftUIがどのように機能するかは理解できますが、それでも何かが発生するために必要なことについては空白を描いています。これは他の考え方に慣れているため、以前にプログラミングの経験がある人にとっては特に問題です。数か月、数年、場合によっては数十年もの筋肉の記憶があり、問題を非常に簡単に解決できますが、すべてがどのように動作するかを正確に指示するようになります。

SwiftUIでは、すべてのビュー(およびすべてのアニメーション)は、状態の関数である必要があります。つまり、ボタンにスピンを指示するのではなく、ボタンのスピン量をある状態に割り当て、その状態を適切に変更します。行きたい場所はわかっているが、そこにたどり着く方法がわからないため、これはイライラすることがよくあります。

コース中にこれが気になる場合は、リラックスしてください。それは正常であり、あなたは一人ではありません。1〜2時間何かと戦って、それがうまくいかない場合は、片側に置いて次のプロジェクトを試してから、1週間ほどで戻ってきます。あなたはより多くを知り、より多くの練習をしたでしょう、そして新鮮な心は決して傷つけません。