iPhone CoreData:与变音符号一起排序

Cor*_*ius 10 sorting iphone core-data diacritics fetch

我有一个应用程序从sqlite数据库中获取数据(国家列表).这些国家都是德语,包含变音符号,例如Österreich.我想获取按名称排序的那些国家,并期望Österreich在"O"附近的其他国家附近,但它在结果的最后.

此代码用于获取已排序的国家/地区:

 NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

 [fetchRequest setEntity: [NSEntityDescription entityForName: @"Continent" inManagedObjectContext: moc]];
    [fetchRequest setSortDescriptors: [NSArray arrayWithObject: [[[NSSortDescriptor alloc] initWithKey: @"name" ascending: YES] autorelease]]];

 NSError *error = nil;
 NSArray *result = [moc executeFetchRequest: fetchRequest error: &error];
Run Code Online (Sandbox Code Playgroud)

有没有办法让这些特殊的字符名称出现在我上面描述的位置?在这上面没有找到任何关于互联网的东西......

非常感谢.

Cor*_*ius 10

谢谢你的回答,我可以另一个(简单)方式解决问题!

我只需要像这样修改NSSortDescriptor:

[NSSortDescriptor sortDescriptorWithKey: @"name" ascending: YES selector: @selector(localizedCompare:)]
Run Code Online (Sandbox Code Playgroud)

  • 在iOS> = 4.0中,您应该使用localizedStandardCompare: (4认同)