I have a 2D array with multiples values.
One field on this array is called group
, let's imagine my array have this order:
private var myArray = [
ArrayModel(
id: 0,
name: "Test",
color: 0,
img: "img.png",
group = "myGroup"),
ArrayModel(
id: 1,
name: "Test1",
color: 0,
img: "img.png",
group: "myGroup"),
ArrayModel(
id: 2,
name: "Test2",
color = 0,
img = "img.png",
group = "myGroup3")
ArrayModel(
id: 3,
name: "Test3",
color: 0,
img: "img.png",
group: "myGroup2"),
ArrayModel(
id: 4
name: "Test4"
color: 0
img: "img.png"
group: "myGroup3")
]
Array Model
class ArrayModel: Decodable {
var id: Int
var name: String
var color: Int
var img: String
var group: String
convenience init() {
self.init()
id = 0
name = ""
color = 0
img = ""
group = ""
}
init(id: Int, name: String, color: Int, img: String, group: String) {
self.id = id
self.name = name
self.color = color
self.img = img
self.group = group
}
}
How can I move my myArray[2]
to be in myArray[1]
?
My desired output is :
let myArray = [
ArrayModel(
id: 0,
name: "Test",
color: 0,
img: "img.png",
group: "myGroup")
]
[1] => same shema, but group => "myGroup"
[2] => same shema, but group => "myGroup2"
[3] => same shema, but group => "myGroup2"
[4] => same shema, but group => "myGroup3"
]
I tried this :
myArray.sorted(by: { $0.group < $1.group })
Thanks for your help!