SwiftUIでリストを表現する場合はListビューを使う。

これまでUIKitでリストを表現する場合、UITableViewを使ってStoryBoardとコードの関連付けやデリゲートの実装など、手順が多く実装が面倒だったのだが、SwiftUIでは少ないコード量かつシンプルな記述でリストを実装することができる。

最も簡単なListビューの実装例

リストに表示するビューをクロージャで指定するだけで良い。

import SwiftUI

struct ContentView: View {
    var body: some View {
        List {
            Text("aaa")
            Text("bbb")
            Text("ccc")
        }
    }
}

UITableViewと比べると圧倒的に簡潔に実装することができるのだ。

また、行によってデザインを変える場合も簡単なコードで実装することができる。

import SwiftUI

struct ContentView: View {
    var body: some View {
        List {
            Text("aaa")
            HStack {
                Text("bbb")
                Spacer()
                Image(systemName: "heart.circle.fill")
            }
            Text("ccc")
        }
    }
}

上記は2行目のみHStackを使って二つのビューを組み合わせて表示させた例だが、このように直感的にコードを書くことができる。