2015-09-27 34 views
0

我創建了一個自定義的類來保存圖像和它的字符串(它的名字)數組排序它的可變

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 }) 

有沒有人有想法如何根據上述代碼對我的數組進行排序?

+1

爲什麼你寫的東西不行? – spektr

+0

基本上代碼是正確的。你收到什麼錯誤信息? – vadian

+0

我沒有得到任何錯誤,它只是不按countryName排序數組。 – mehmeet43

回答

0

您可以使用-sortUsingComparator:來排序一個像這樣的數組,您將一個塊傳入。該塊取兩個要比較的對象,並返回一個NSComparisonResult,這是您對比的兩個對象。您可以提供一個使用countryName的塊。

您也可以使用-sortUsingDescriptors:並通過NSSortDescriptor查看countryName字段。

+0

我會嘗試你提到的兩種方法,並讓你知道。謝謝。 – mehmeet43