4

SwiftUI で異なるビュー構成を使用する場合、次の 2 つのアプローチを取ることができます。

  1. ビュー内で @ViewBuilder 関数をヘルパー関数として使用するには:
@ViewBuilder func makeButtonLabel() -> some View {
    if isPlaying {
        PauseIcon()
    } else {
        PlayIcon()
    }
}
  1. その UI ピースの別のビューを作成するには:
struct SongRow: View {
    var song: Song
    @Binding var isPlaying: Bool
    ...

    var body: some View {
        HStack {
            if isPlaying {
                PauseIcon()
            } else {
                PlayIcon()
            }
        }
    }
}

どちらが優れているのだろうか、どうすればそれを測定できるのでしょうか?

分析的には、2 番目の方が大きなビュー チャンクでパフォーマンスが優れているように思えます。特に、プレビューの読み込み時間で確認できますが、手がかりはありません。

4

1 に答える 1