将4个不同数组的内容排序为相同的顺序

时间:2016-12-22 22:39:43

标签: ios arrays swift sorting

我有4个阵列:

self.packName.append(object["packName"] as! String)
self.packDescription.append(object["packDesctription"] as! String)
self.packTitle.append(object["packTitle"] as! String)
let image = object.value(forKey: "file") as? PFFile
self.packImage.append(image!)

目前它们已经创建并且所有内容都排成一行(即packName与packImage匹配。但是,如果我尝试对它们进行排序

self.packName = self.packName.sorted(by: { $0 < $1 })
self.packDescription = self.packDescription.sorted(by: { $0 < $1 })
self.packTitle = self.packTitle.sorted(by: { $0 < $1 })
self.packImage = self.packImage.sorted(by: { $0.name < $1.name })

他们出来所有mishmatch因为这是按字母顺序排序每个数组。

我怎样才能对所有4个进行排序?

1 个答案:

答案 0 :(得分:0)

这对它进行了排序。感谢小费家伙

struct packStruct {
    var packName : String
    var packDescription : String
    var packTitle : String
    var packImage : PFFile
}

var packArray = [packStruct]()

var arrayName : String = ""
var arrayDescription : String = ""
var arrayTitle : String = ""
var arrayImage : PFFile

for object in packs {

    self.arrayName = object.object(forKey: "packName") as! String
    self.arrayDescription = object.object(forKey: "packDesctription") as! String
    self.arrayTitle = object.object(forKey: "packTitle") as! String
    self.arrayImage = object.object(forKey: "file") as! PFFile

    self.packArray.append(packStruct(packName: self.arrayName, packDescription: self.arrayDescription, packTitle: self.arrayTitle, packImage: self.arrayImage))

}
// returns the array with all the data
print(packArray)

并从数组中获取数据

self.packArray[indexPath.item].packDescription

可以排序:

self.packArray = self.packArray.sorted{ $0.packName < $1.packName }