12月16日(火)3コマ目

今日、やったこと

[評価用課題作成]電卓アプリ作成

今日の課題

正解例を挙げておきます。

その1 条件分岐で状態ごとの処理を実行

1つのクラスにて、状態による条件分岐で現在の電卓の状態での処理を行う。

Calcurator.swift

電卓用クラス。


ContentView.swift

画面生成。


その2 オブジェクト指向プログラミング形式

プロトコルを準拠する4つの状態別の構造体を用意。


Calcurator.swift

プロトコル。4つの状態ごとの構造体はこのプロトコルを準拠。


ExtCalcurator.swift

Calcuratorプロトコルに実装を追加。

4つの状態で共通する処理はここで実装。


Calcurator_StateA.swift

「左値入力中」状態に特化したイベント処理構造体。


 Calcurator_StateB.swift

「演算子入力直後」状態に特化したイベント処理構造体。


Calcurator_StateC.swift

「右値入力中」状態に特化したイベント処理構造体。


Calcurator_StateD.swift

「=入力直後」状態に特化したイベント処理構造体。


ContentView.swift

画面生成。

calcuratorプロパティは現在の電卓の状態に応じたCalcuratorプロトコル準拠構造体のインスタンスを保持

イベント処理関数の戻り値は新しい状態のインスタンス。このプロパティに代入することで、状態構造体のインスタンスをリレーしていく。


次回は

評価用新課題。

このブログの人気の投稿

11月25日(火)3、4コマ目

11月17日(月)3 コマ目