首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSSortDescriptor不工作

NSSortDescriptor不工作
EN

Stack Overflow用户
提问于 2012-10-11 21:20:58
回答 2查看 645关注 0票数 0

我有一个名为"TruckNumber“的核心数据实体,它有一个字符串作为唯一的属性。字符串通常是一个1-3位的整数(作为字符串),但有时也可以包含字母,如TMP9。该属性的名称为"itsNotANumma“。我正在做一个fetch请求来填充一个选取器,但是它们没有被排序,我不知道为什么。我在其他选择器的其他实体上使用过这种技术,从来没有遇到过问题。请帮帮我。相关代码如下:

代码语言:javascript
复制
// Fetch truck numbers
NSFetchRequest *truckNumberFetchRequest = [[NSFetchRequest alloc] init];

NSEntityDescription *truckEntity = [NSEntityDescription entityForName:@"TruckNumber" inManagedObjectContext:self.managedObjectContext];
[truckNumberFetchRequest setEntity:truckEntity];

// Sort Descriptor
NSSortDescriptor *truckDescriptor = [[NSSortDescriptor alloc] initWithKey:@"itsNotANumma" ascending:YES];

NSArray *truckSortDescriptors = [[NSArray alloc] initWithObjects:truckDescriptor, nil];
[inventoryFetchRequest setSortDescriptors:truckSortDescriptors];
error = nil;
NSArray *truckResults = [managedObjectContext executeFetchRequest:truckNumberFetchRequest error:&error];

if (error)
    NSLog(@"Unresolved error while saving context: %@, %@", error, [error userInfo]);

truckNumbersArray = [[NSMutableArray alloc] init];
for (TruckNumber *truckNumber in truckResults)
{
    [truckNumbersArray addObject:truckNumber.itsNotANumma];
}

以下是我的卡车编号数据模型:

结果如下:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-11 21:25:17

看起来你有一个简单的拼写错误:

代码语言:javascript
复制
[inventoryFetchRequest setSortDescriptors:truckSortDescriptors];

应该是:

代码语言:javascript
复制
[truckNumberFetchRequest setSortDescriptors:truckSortDescriptors];

我想不管怎样,从阅读这段代码。

票数 2
EN

Stack Overflow用户

发布于 2013-01-08 12:58:06

代码语言:javascript
复制
[NSSortDescriptor sortDescriptorWithKey:@"self" ascending:YES comparator:^(id obj1, id obj2){
    return [(NSString*)obj1 compare:(NSString*)obj2 options:NSNumericSearch]; 
}];

如果你的数字在1-5000或更高的范围内,它就能完美地工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12840531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档