6

Tengo un controlador de resultados obtenido que debe mostrar todos los elementos de una determinada entidad que tiene un número de subentidades.Ordenar por nombre de entidad en NSFetchRequest

Las secciones en el controlador de resultados obtenidos deben basarse en el nombre de la entidad, es decir, a qué subescencia pertenece un elemento. Configurando el sectionNameKeyPath al @"entity.name" funciona.

Parece que, sin embargo, es imposible obtener el descriptor de ordenación correcto para la solicitud de búsqueda. Cosas como [NSSortDescriptor sortDescriptorWithKey:@"entity.name" ascending:YES] provocan errores como keypath entity.name not found in entity Something.

+0

Hola @mrueg, ¿has encontrado una respuesta a esta pregunta? – epologee

Respuesta

3

Intente utilizar [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]; No necesita la entidad anterior, ya que la entidad ya está definida por la solicitud de búsqueda. Vea también el Sort Descriptor Class Reference.

+1

+1 Definitivamente el problema. 'entity.name' significa" buscar una relación llamada entidad y luego preguntar al objeto en el otro lado de la relación por su atributo 'name'. Como no hay una relación' entity', la ordenación falla. – TechZen

+0

Esto da como resultado 'keypath nombre no encontrado en la entidad Something', la razón por la cual es obviamente que mi entidad Algo no tiene una propiedad llamada name. Incluso si lo hizo, eso no daría lugar a la clasificación correcta. Una formulación algo diferente de mi pregunta puede se puede encontrar en http://stackoverflow.com/questions/3931442/is-it-possible-to-sort-by-subclasses-in-an-nsfetchrequest-without-adding-additi – mrueg

+0

@ TechZen: What 'entity.name' _debería decir, es "buscar una entidad llamada de alguna propiedad (es decir, no solo relaciones) y pedirle el nombre al objeto resultante". El único problema es que la clasificación se realiza en SQLite y no en NSManagedObjects. – mrueg

Cuestiones relacionadas