gpt4 book ai didi

ios - NSSortDescriptor 不会按键对我的字典进行排序

转载 作者:行者123 更新时间:2023-11-29 11:01:08 24 4
gpt4 key购买 nike

我正在使用 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 之间的一个数字。有人能告诉我是什么原因造成的以及如何让它发挥作用吗?感谢您的帮助。

最佳答案

应该在不创建您自己的自定义比较器的情况下工作...字典是如何创建的?我敢打赌,您的 Freshness 值中有一些是 NSStrings,一些是 NSNumbers,它们是无意间相互比较的。

当你从数据库或其他什么地方加载它们时,在将它们放入它们的字典之前用 respondsToSelector:@selector(isEqualToNumber:) 测试它们并强制任何值 ids 没有成功。

关于ios - NSSortDescriptor 不会按键对我的字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15868409/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com