私はswift4.2でカスタム構造体の配列をソートしようとしています。私はそれをそのような方法で整理したい
isSelected
boolプロパティを持つオブジェクトは常に一番上にあり、他のすべてのオブジェクトはsortOrder
(Int)というプロパティを使用して昇順で並べ替える必要があります。isSelected
プロパティを持つオブジェクトもsortOrder
(昇順)で並べ替える必要があります。これまでのところ、私は1番目の目標を達成することができましたが、2番目の目標に問題がありました。これが私のコードです:
myArray.sort { (item1, item2) -> Bool in
if item1.isSelected ?? false && item2.isSelected == false {
return true
} else if item2.isSelected ?? false {
return false
}
return item1. sortOrder < item2. sortOrder
}
2番目の目的を手伝ってください。ありがとうございました。
配列を所定の位置に並べ替えるには:
myArray.sort { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
新しいソートされた配列を取得するには
let sortedArray = myArray.sorted { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加