CoreData: временное свойство и localizedCaseInsensitiveCompare - PullRequest
1 голос
/ 22 сентября 2011

В coredata у меня есть временное свойство для использования имеет разделы.Код переходного свойства здесь:

- (NSString *) firstLetter_transient {
[self willAccessValueForKey:@"firstLetter_transient"];
NSString *initial = [[[self memberName] substringToIndex:1] uppercaseString];
[self didAccessValueForKey:@"firstLetter_transient"];

return initial;
}

Когда я применяю это, на португальском языке, я получаю, например, "Á" имеет первую букву.

Вопрос № 1: какЯ положил «А» в разделе «А»?У меня есть ошибка с этим:

«Операция не может быть завершена. (Ошибка какао 134060.)» *

Вопрос № 2: когда дело касается чисел, как я могу повлиятьномера в разделе с именем "#"?Теперь число 1 создает раздел «1» и т. Д.

Спасибо всем,

RL

1 Ответ

1 голос
/ 23 сентября 2011

Вы должны использовать UILocalizedIndexedCollation для выполнения сортировки и категоризации записей по разделам. Код для реализации этого находится в вопросе NSFetchedResultsController v.s. UILocalizedIndexedCollation

UILocalizedIndexedCollation был создан, чтобы иметь возможность на основе языка классифицировать слова на основе текущих языковых настроек. А и А будут помещены в раздел А.

...