12月15日(月)2コマ目 リンクを取得 Facebook × Pinterest メール 他のアプリ 12月 15, 2025 今日、やったこと評価用課題「電卓」作成課題の締め切り今日の終了時に回収と伝えてましたが、明日(16日)3コマ目終了時に延長します。 リンクを取得 Facebook × Pinterest メール 他のアプリ
11月25日(火)3、4コマ目 11月 25, 2025 今日、やったこと SwiftUIでGUI作成 今日のホワイトボード SwiftでGUIアプリケーションを作成するには フレームワークが2種類用意されている。 図 GUIのために用意されているフレームワーク 今回はSwiftUIで作成。 ContentView.swiftについて 画面作成はContentView.swiftにて行う。 なんとなくやっていることはわかると思うが、よくよく見ると、謎が多い。 ContentView構造体をよみとく① VIewプロトコルを準拠。 bodyの型はViewプロトコルを準拠した何か(some)。 bodyはコンピューテッドプロパティ。 図 ContentView構造体とbodyプロパティ ContentView構造体をよみとく② bodyプロパティ bodyプロパティはいろいろと省略されている。 bodyプロパティはgetterのみ。 よって、 set { }は省略 get{ }も省略 さらに、getterの処理は値を返すだけなので、returnも省略。 VStack構造体のインスタンスを生成し、padding()関数の戻り値を返す。 図 bodyプロパティが返す値 ContentView構造体をよみとく③ VStack構造体のインスタンス生成 bodyプロパティのgetterにて、VStack構造体のインスタンスを生成している。 が、よく見ると今まで見てきたインスタンス生成と異なる。 VStack構造体のイニシャライザは引数が3つある。 第1、第2引数はデフォルト値あり -> 設定不要 第3引数はクロージャー式 イニシャライザの最後の引数がクロージャーなら、クロージャー式は( )内でなく、( )の外で... 続きを読む
11月17日(月)3 コマ目 11月 17, 2025 今日、やったこと [練習問題]練習問題5(構造体) [練習問題 解説]練習問題5(構造体) エクステンション 今日のホワイトボード [練習問題 解説]練習問題5(構造体) 構造体の練習というより、nilとOptional型の復習。 正解例をあげておきます。 5-1 構造体を作って、配列を作るだけ。 5-2 nilか否かは != nil でできる。 ついつい、オプショナルバインディングとかを思い浮かべるが、そこまでしなくていい。 5-3 C言語由来の言語では、計算する2つの値の型が異なる場合、大きな型(double > int)に自動的にキャストされる。 Swiftでは、両方ともキャストが必要。 エクステンション クラスは継承で機能追加ができる。 継承が使えるのは、クラスだけ。 構造体、列挙型、プロトコル(=インターフェース)はエクステンションで機能追加。 図 継承とエクステンションのイメージ コンピューテッドプロパティの省略記法 メソッドにあった、 処理内容が値を返すだけなら、returnが省略できる に加えて、 コンピューテッドプロパティはget処理だけなら、get{ }が省略できる もある。 図 コンピューテッドプロパティの省略記法 以下のサンプルで確認しました。 実行結果 次回は エクステンションの練習問題。 続きを読む