我試圖排序自定義對象的數組。當一個數組包含一個對象時,它將使用一個對象返回排序的數組。但是,如果一個數組包含多個對象,墜毀快速排序自定義對象的NSMutableArray
class Plans:NSObject{
var price:Int
var name:String?
..
..
..
}
func price(array:NSMutableArray,sortKey:NSString)->Int{
var sortDescriptor:NSSortDescriptor = NSSortDescriptor(key: sortKey, ascending: true)
var sortedArray:NSArray = array.sortedArrayUsingDescriptors([sortDescriptor])//Crashes
var apt:Plans = sortedArray.objectAtIndex(0) as Plans
return apt.price
}
函數調用:
self.price(array,sortKey:"price") //array contains array of Plans objects
崩潰:
*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<pjct.Plans 0x7fb8a7bb7af0> valueForUndefinedKey:]: this class is not key value coding-compliant for the key price.'
你的代碼實際上適用於我。您正在使用哪個版本的xcode?你是如何初始化'array'變量的? – 2014-10-30 10:29:48
我正在使用Xcode 6.1。我將json響應映射到數組中,並嘗試按價格對數組進行排序 – 2014-10-30 10:40:03
該數組很有可能不包含任何「Plans」類型的對象。您應該向我們展示用於將json響應轉換爲數組的代碼。 – 2014-10-30 10:47:52