😎

【Day3】SwiftUIで画面構成とリスト表示をマスター!修飾子や構造も整理した日

に公開

はじめに

こんにちは、やすです🙋‍♂️
完全初心者からiOSアプリ開発を始めて3日目。
今日は本気で集中して、SwiftUIの セクション1とセクション2 を一気にやり切りました🔥

UIの基本構成から、リスト・画面遷移の仕組みまで、いよいよ「アプリらしさ」が出てきてテンション上がってます!


今日やったこと(ざっくり)

  • Apple公式チュートリアル セクション1・2 完了
  • .foregroundColor, .font, .padding などの修飾子の役割を理解
  • SwiftUI Inspector の使い方を実践(Inheritedに戻すやつ)
  • List, NavigationLink, ForEach を使ったリスト+画面遷移の構造を把握
  • コードを写経してXcodeで動作確認
  • ノートに構造図をまとめて視覚的にも整理!

修飾子の使い方でハマったこと

Text("Turtle Rock")
    .font(.title)
    .foregroundcolor(.green) // ❌

はい、やらかしました(笑)
foregroundColorCを小文字にしてて、以下のエラー:

Value of type 'Text' has no member 'foregroundcolor'
Cannot infer contextual base in reference to member 'green'

スペルミスが原因だったのに、Xcodeが違う方向のエラーを出してくるからめっちゃ混乱しました…。
SwiftUIは キャメルケース(大文字小文字)に超厳しい ってこと、しっかり刻みました🙇‍♂️


SwiftUI Inspectorの仕組みに感動した話

初めて Control+クリック → Show SwiftUI Inspector を使って、
Textの文字色をマウス操作で「Inherited(親ビューの色)」に戻す体験をしました。

すると、コード上の .foregroundColor(.green) が自動で削除 された!

SwiftUIでは「コードが真実(source of truth)」って教えが本当なんだな〜と実感。

UIKitのStoryboard時代とは真逆で、コードと見た目が完全に連動してるのが新鮮でした🧠


@main → App → Scene → WindowGroup → ContentView の構造

紙ノートにも図解しましたが、SwiftUIアプリの起点はこの流れ:

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}

この構造がちゃんと頭に入ったことで、今後の画面遷移もめちゃくちゃ理解しやすくなりそうです。


List, NavigationLink, ForEach の連携

セクション2では、以下のコードで一覧表示と画面遷移を実装👇

List(landmarks) { landmark in
    NavigationLink(destination: LandmarkDetail(landmark: landmark)) {
        LandmarkRow(landmark: landmark)
    }
}
  • List:データの一覧を表示
  • ForEach:配列をループして行を生成
  • NavigationLink:タップで詳細画面に遷移

なるほど、これが「画面遷移の基本」なんだなっていうのが体感でわかりました。


学んだことまとめ ✅

  • SwiftUIでは コードがUIの唯一の真実(=見た目変えたらコードも更新される)
  • 修飾子は構文をしっかり覚えないとエラーになる
  • 一覧表示と画面遷移の組み合わせ(List+NavigationLink+ForEach)は基本パターン!

おわりに

今日はがっつり学習できて、正直かなり疲れたけど、
「アプリの画面構成ってこういう流れで作るんだな〜」って、かなり大きな理解が得られた日でした。

この調子でセクション3・4も突っ走っていきます!💨
明日は @StateTextField が出てくるので、いよいよ“ユーザー入力”に踏み込んでいくぞー!


使用環境

  • MacBook Air M1(メモリ8GB/SSD 256GB)
  • Xcode 15
  • SwiftUI 5(Xcodeのバージョンに準ずる)

タグ

#SwiftUI #iOSアプリ開発初心者 #Apple公式チュートリアル #文系からのエンジニア転身 #やすの開発ログ

Discussion