【SwiftUI】配列をソートする方法

この記事は約2分で読めます。
iOS13.0以上
XCode(当サイトの環境)15.0.1

SwiftUIでは、配列をソートするために、Swiftの標準ライブラリであるsort()メソッドを使用することができます。
以下は、配列をソートする簡単なプログラムの例です。

番号を昇順にソートするプログラム例

import SwiftUI

struct ArraySort: View {
    let unsortedArray = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]

    var sortedArray: [Int] {
        return unsortedArray.sorted()
    }

    var body: some View {
        VStack {
            HStack {
                Text("Unsorted Array:")
                ForEach(unsortedArray, id: \.self) { data in
                    Text("\(data)")
                }
            }
            
            HStack {
                Text("Sorted Array:")
                ForEach(sortedArray, id: \.self) { data in
                    Text("\(data)")
                }
            }
        }
    }
}

この例では、unsortedArrayという配列が定義されており、その要素をsorted()メソッドを使用してソートし、sortedArrayという新しい配列を作成しています。
その後、unsortedArraysortedArrayをテキストとして表示しています。

この例では、sorted()メソッドのデフォルトのソート方法である昇順でソートしています。sort()メソッドは、クロージャーを引数として受け取り、自由にソートロジックをカスタマイズすることができます。例えば、下記のように配列を降順でソートすることもできます。

let sortedArray = unsortedArray.sorted(by: >)

この例では、sorted(by:)メソッドに>演算子を渡しています。これにより、配列が降順でソートされます。

タイトルとURLをコピーしました