【发布时间】:2015-07-01 03:03:21
【问题描述】:
我想对一个对象数组进行排序下面是我对对象数组进行排序的函数
class func Fn_SortByParameter(arrayToSort:NSMutableArray,paramName:NSString!, isAscending:Bool!){
var sortDescriptor:NSSortDescriptor = NSSortDescriptor(key: paramName, ascending: isAscending, selector: Selector("localizedCompare:"))
var sortDescriptors:NSArray = NSArray(object: sortDescriptor)
var sortedArray:NSArray = arrayToSort.sortedArrayUsingDescriptors(sortDescriptors)
arrayToSort.removeAllObjects()
arrayToSort.addObjectsFromArray(sortedArray)
}
与
class func Fn_SortByParameter(arrayToSort:NSMutableArray,paramName:NSString!, isAscending:Bool!){
var sortDescriptor:NSSortDescriptor = NSSortDescriptor(key: paramName, ascending: isAscending)
var sortDescriptors:NSArray = NSArray(object: sortDescriptor)
var sortedArray:NSArray = arrayToSort.sortedArrayUsingDescriptors(sortDescriptors)
arrayToSort.removeAllObjects()
arrayToSort.addObjectsFromArray(sortedArray)
}
数组包含以下类的对象
class Appointment: NSObject {
var id:Double!
var status:NSString!
var clinic:Clinic!
var medicalCase:MedicalCase!
var patient:Patient!
var appointmentDate:Double! // Unix timestamp
var reasonForVisit:NSString!
var cancellationReason:NSString!
var visit:Visit!
}
当我尝试排序时,它会因以下错误而崩溃
[valueForUndefinedKey:]:这个类不符合键约会日期的键值编码。'
函数调用排序
Fn_SortByParameter(allAppointments.aaData, paramName: "appointmentDate", isAscending: true)
【问题讨论】: