Как сортировать не -английские строки с помощью nspredicate?

Я сортирую результаты запроса на выборку с помощью дескриптора сортировки.

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-й позиции.

Я не знаю почему, но использование компаратора после выборки объектов работает. Таким образом, он работает с любым массивом, но не с дескриптором сортировки для запроса на выборку.

5
задан Mert 5 August 2012 в 10:49
поделиться