1. ホーム
  2. arrays

[解決済み] Swift カスタムオブジェクトの配列をプロパティ値でソートする方法

2022-03-16 02:32:46

質問

imageFile という名前のカスタムクラスがあり、このクラスには2つのプロパティが含まれているとします。

class imageFile  {
    var fileName = String()
    var fileID = Int()
}

配列に格納された多くの

var images : Array = []

var aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 101
images.append(aImage)

aImage = imageFile()
aImage.fileName = "image1.png"
aImage.fileID = 202
images.append(aImage)

質問:どのように 'fileID' ASC または DESC で画像配列を並べ替えることができますか?

解決方法は?

まず、Arrayを型付き配列として宣言し、繰り返し実行する際にメソッドを呼び出せるようにします。

var images : [imageFile] = []

そうすれば、単純にできます。

スウィフト2

images.sorted({ $0.fileID > $1.fileID })

Swift 3+

images.sorted(by: { $0.fileID > $1.fileID })

上記の例では 降下 ソート順