我要订购NSMutableArray
包含对象根据两个对象属性其中之一有double
类型第二个有NSString
?按照double值排序NSmutable数组包含对象
我试图用这个方法,但我得到异常:
NSString * LASTNAME = @"lastName";
NSString * GRADE = @"grade";
NSSortDescriptor *lastDescriptor =
[[NSSortDescriptor alloc]
initWithKey:LASTNAME
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)];
NSSortDescriptor *firstDescriptor =
[[NSSortDescriptor alloc]
initWithKey:GRADE
ascending:YES
selector:@selector(localizedCaseInsensitiveCompare:)]];
NSArray * descriptors =
[NSArray arrayWithObjects:lastDescriptor, firstDescriptor, nil];
NSArray * sortedArray =
[students sortedArrayUsingDescriptors:descriptors];
@interface Student : NSObject
{
NSString * firstName;
NSString * lastName;
double grade;
}
我应该做高档的NSNumber代替双我想比较,但我又站了异常? – kartal
@salamonti:键值编码将返回一个双倍的NSNumber,所以这不成问题。你得到的确切例外是什么? – Chuck
你是对的,我通过删除比较解决它,所以它将是 NSSortDescriptor * firstDescriptor = [[NSSortDescriptor alloc] initWithKey:GRADE 递增:YES]]; – kartal