使用选定属性和排序顺序对Swift 4.2数组进行排序
我正在尝试对swift 4.2中的自定义结构数组进行排序。我想以这样一种方式来解决它使用选定属性和排序顺序对Swift 4.2数组进行排序,swift,sorting,Swift,Sorting,我正在尝试对swift 4.2中的自定义结构数组进行排序。我想以这样一种方式来解决它 具有trueisSelectedbool属性的对象始终位于顶部,所有其他对象应使用名为sortOrder(Int)的属性升序排序 具有isSelected属性的对象也应按sortOrder(升序)排序。 到目前为止,我能够实现第一个目标,但第二个目标有些问题 这是我的密码: myArray.sort { (item1, item2) -> Bool in if item1.isS
isSelected
bool属性的对象始终位于顶部,所有其他对象应使用名为sortOrder
(Int)的属性升序排序李>
isSelected
属性的对象也应按sortOrder
(升序)排序。
到目前为止,我能够实现第一个目标,但第二个目标有些问题李>
这是我的密码:
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
}
myArray.sort{(item1,item2)->Bool-in
如果item1.isSelected??false&&item2.isSelected==false{
返回真值
}否则,如果选择项目2.1,则为假{
返回错误
}
返回item1.sortOrder
请帮助实现第二个目标。谢谢。要对阵列进行适当排序,请执行以下操作:
myArray.sort { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
myArray.sort{item1,item2在
如果item1.isSelected==item2.isSelected{
返回item1.sortOrder
获取新的排序数组的步骤
let sortedArray = myArray.sorted { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
让sortedArray=myArray.sorted{item1,item2在
如果item1.isSelected==item2.isSelected{
返回item1.sortOrder
要在适当位置对阵列进行排序,请执行以下操作:
myArray.sort { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
myArray.sort{item1,item2在
如果item1.isSelected==item2.isSelected{
返回item1.sortOrder
获取新的排序数组的步骤
let sortedArray = myArray.sorted { item1, item2 in
if item1.isSelected == item2.isSelected {
return item1.sortOrder < item2.sortOrder
}
return item1.isSelected && !item2.isSelected
}
让sortedArray=myArray.sorted{item1,item2在
如果item1.isSelected==item2.isSelected{
返回item1.sortOrder
回答得不错,伙计!回答得好,伙计!