我创建了一个自定义类来保存图像及其字符串(名称)

class Countries: NSObject {

var countryName : String
var countryFlag : UIImage

init(countryName: String, countryFlag: UIImage) {
    self.countryName = countryName
    self.countryFlag = countryFlag
    super.init()

}


}

我宣布上课

    var myList: Array<Countries> = []


并将每个国家/地区信息添加到数组中

let image = UIImage(data:imageData!)

let dd = Countries(countryName: object["CountryName"] as! String, countryFlag: image!)

self.myList.append(dd)


我试过下面的代码对数组进行排序,但是不起作用;

self.myList.sortInPlace({ $0.countryName < $1.countryName })


有人知道如何根据上述代码对数组进行排序吗?

最佳答案

您可以使用-sortUsingComparator:对这样的数组进行排序,并将其传递给块。该块接受您要比较的两个对象,并返回NSComparisonResult,这是您对这两个对象的比较。您可以提供使用countryName的块。

您也可以使用-sortUsingDescriptors:并传入查看NSSortDescriptor字段的countryName

09-25 20:41