¿Cómo podría usar NSFetchedResultsController con la clave de ordenación traducida y la secciónKeyPath?NSFetchedResultsSecciones de controlador localizadas ordenadas
Problema: Tengo ID en la propiedad "tipo" en la base de datos como tipoA, tipoB, tipoC, ... y no el valor directamente porque debe ser localizado. En inglés typeA = Bird, typeB = Cat, typeC = Dog en alemán sería Vogel, Katze, Hund.
Con un NSFetchedResultController con clave de ordenación y sectionKeyPath el "tipo" que recibe la orden y secciones - typeA - typeB - TypeC
A continuación traduzco para la exhibición y todo está bien en Inglés: - Bird - Cat - perro
Ahora me cambio a alemán y recibo una orden de clasificación errónea - Vogel - Katze - Hund
porque todavía ordena por typeA, typeB, TypeC
Así que estoy buscando una manera de localizar el tipo de la NSFetchedResultsController.
Probé el enfoque de propiedad transitoria, pero esto no funciona para la clave de clasificación porque la clave de clasificación debe estar en la entidad.
No tengo otra idea. Pero no puedo creer que no sea posible utilizar NSFetchedResultsController en un atributo derivado requerido para la localización.
Hay discusiones relacionadas como Using custom sections with NSFetchedResultsController? pero la diferencia es que los nombres de las secciones personalizadas y la clave de clasificación probablemente tengan el mismo orden. No en mi caso, y esta es la principal diferencia.
Al final necesitaría un orden de clasificación para el NSSortDescriptor necesario en un atributo derivado, supongo. Este orden de clasificación también debe servir para la sección KeyPath.
Gracias por cualquier pista.
Sí, he intentado esto hasta cierto punto. Pero para ser honesto, no pude convencer a NSString usando este método de comparación definida de categoría .... No esperaba que sectionKeyPath fuera un problema porque podría usar la propiedad transitoria aquí que debería coincidir con el orden de clasificación de la tipo localizado del descriptor de clasificación. – Gerd
Le he dado otra oportunidad. Consulte la respuesta "Intenté de nuevo con la comparación personalizada ..." (Demasiado tiempo para un comentario). – Gerd