ソート記述子を使用してフェッチ要求の結果をソートしています。
NSFetchRequest* req = [[NSFetchRequest alloc] initWithEntityName:[MyEntity entityName]];
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"property"
ascending:YES
selector:@selector(localizedCompare:)];
req.sortDescriptors = [NSArray arrayWithObject:descriptor];
return [self.managedObjectContext executeFetchRequest:req error:nil];
問題は、'İ' のような英語以外の文字で始まる単語がリストの最後に表示されることです。これはトルコ語の文字で、アルファベットは次のようになります。
A、B、C、Ç、D、E、F、G、Ğ、H、I、İ、J、K、L、M、N、O、Ö、P、R、S、Ş、T、U、 Ü、V、Y、Z。
したがって、文字は 12 番目の位置にあります。
理由はわかりませんが、オブジェクトのフェッチ後にコンパレータを使用すると機能します。したがって、どの配列でも機能しますが、フェッチ要求のソート記述子では機能しません。