我正在使用 UIActionSheet 通过其中一个键对数组中的 100 个字典进行排序。一些键是 NSStrings,另一些是 NSNumbers。这段代码完成了这项工作:
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
if (buttonIndex == 0) {
sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Price" ascending:YES];
}
if (buttonIndex == 1) {
sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES];
}
if (buttonIndex == 2) {
sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Country" ascending:YES];
}
if (buttonIndex == 3) {
sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Price" ascending:YES];
}
if (buttonIndex == 4) {
sortDesc = [[NSSortDescriptor alloc] initWithKey:@"Freshness" ascending:YES];
}
[objArr sortUsingDescriptors:[NSArray arrayWithObject:sortDesc]];
[[self tableView] reloadData];
}
但是在最后一个(新鲜度)上,它会因以下错误而崩溃:[__NSCFNumber length]: unrecognized selector sent to instance 0x1dd838e0
每个字典的新鲜度值只是一个 1-10 之间的数字。有人能告诉我可能是什么原因造成的以及如何使它工作吗?谢谢你的帮助。