Проблема с NSSortDescriptor
Я создаю приложение для контактов, где я получаю имена из AddressBook, сохраняю их в основных данных и отображаю имена в таблице, используяNSFetchedResultsController.However
первый индекс и раздел, который появляется, # сопровождается алфавитами. Но я хочу сделать это так, как в нативном приложении контактов, то есть # index должен прийти наконец.
Я использовал следующее:NSortDescriptor
sortDescriptor = [[NSSortDescriptor alloc] initWithKey: @ "ФИО" по возрастанию: ДА];
Вот "ФИО" этоkey
в основных данных, которые сделаны путем объединения имени и фамилии. И идентификатор раздела - это первая букваФИО" еслиfullName
Безразлично»t начинается с алфавита, его идентификатор раздела - #.
Я искал об этом и использовалNSDiacriticInsensitiveSearch
вNSortDescriptor
компаратор, но это не такт работал. Если у кого-то есть идеи, дайте мне знать.
Вот мой код:
NSString *special = @"\uE000";
if ([[self sectionName:contactName] isEqualToString:@"#"]) {
sortName = [special stringByAppendingString:contactName];
}
else{
sortName = contactName;
}
[newContact setValue:[self sectionIdentifier:sortName] forKey:@"sectionIdentifier"];
[newContact setValue:sortName forKey:@"sortName"];
И вот дескриптор сортировки:
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sortName" ascending:YES];
[self sectionIdentifier:sortName]
этот метод возвращает #, если sortName начинается с не алфавита, а в противном случае он возвращает алфавит, с которого он начинается.
newContact является объектом сущности.