Problema de NSSortDescriptor

Estoy creando una aplicación de libreta de contactos en la que busco nombres de la libreta de direcciones, los almacené en los datos básicos y los muestro en una tabla usandoNSFetchedResultsController.However El primer índice y sección que aparece es # seguido de los alfabetos. Pero quiero hacerlo como en una aplicación de contacto nativa, es decir, # index debería llegar al fin.
Utilicé lo siguienteNSortDescriptor:

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

aquí "fullName" es elkey en los datos básicos que se realiza mediante la concatenación de nombre y apellido. Y el identificador de sección es la primera letra de "fullName" si elfullName no comienza con el alfabeto, su identificador de sección es #.
Lo había buscado y usadoNSDiacriticInsensitiveSearch en elNSortDescriptor Comparador pero no funcionó. Si alguien tiene alguna idea, hágamelo saber.

Aquí va mi 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"];

Y aquí está el descriptor de clasificación:

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

[self sectionIdentifier:sortName] este método devuelve # si sortName comienza con un alfabeto distinto y, de lo contrario, devuelve el alfabeto con el que comienza.

newContact es el objeto de la entidad.

Respuestas a la pregunta(4)

Su respuesta a la pregunta