Problema do NSSortDescriptor

Estou fazendo um aplicativo de catálogo de contatos no qual estou buscando nomes do AddressBook e os armazenei em Core data e exibi os nomes em uma tabela usandoNSFetchedResultsController.However o primeiro índice e seção que aparece é # seguido pelos alfabetos. Mas quero fazê-lo como se fosse um aplicativo de contato nativo, ou seja, # o índice deve chegar por fim.
Eu usei o seguinteNSortDescriptor:

sortDescriptor = [[NSSortDescriptor alloc] initWithKey: @ "fullName" crescente: YES];

aqui "fullName" é okey nos dados principais que são feitos pela concatenação do nome e sobrenome. E o identificador de seção é a primeira letra de "fullName" se ofullName não começa com alfabeto, seu identificador de seção é #.
Eu tinha pesquisado sobre isso e usadoNSDiacriticInsensitiveSearch noNSortDescriptor comparador, mas não funcionou. Se alguém tiver alguma ideia, me avise.

Aqui vai meu código:

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"];

E aqui está o descritor de classificação:

sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"sortName" ascending:YES];

[self sectionIdentifier:sortName] esse método retorna # se sortName começar com um não alfabético e, caso contrário, retornará o alfabeto pelo qual é iniciado.

newContact é o objeto da entidade.

questionAnswers(4)

yourAnswerToTheQuestion