- Tengo una entidad Item
y una entidad Tag
. - Los elementos pueden tener múltiples etiquetas y etiquetas que se pueden vincular a varios elementos (de muchas a muchas relaciones). - La relación es una "Relación ordenada" (utilizando la relación ordenada en IOS5) en ambos sentidos.Datos principales: ¿Qué debo usar como un descriptor de ordenación con el conjunto ordenado (ios5) en una relación de muchos a muchos?
que queremos obtener todas las etiquetas hijo para un artículo dado
Im usando la siguiente petición de recuperación: devuelve datos de descriptores
NSFetchRequest* request = [NSFetchRequest fetchRequestWithEntityName:@"Item"];
// Fetch all items that have a given tag
Tag* myTag = ....;
request.predicate = [NSPredicate predicateWithFormat:@"ANY tag == %@", myTag];
// This is my attempt to get the correct sort ordering (it crashes)
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"tag"
ascending:YES];
request.sortDescriptors = @[sortDescriptor];
la clase anterior (que supongo es en algún orden), pero luego accidentes:
[_NSFaultingMutableOrderedSet compare:]: unrecognized selector sent to instance 0x10b058f0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'-[_NSFaultingMutableOrderedSet compare:]: unrecognised selector sent to instance 0x10b058f0'
Si doy una serie descriptores ordenar vacía, entonces no me llevo un accidente, pero el resultado no se ordena.
¿Cómo implemento correctamente el descriptor de ordenación en una relación de muchos a muchos utilizando la función de relación ordenada en ios5?
¿Puedes aclarar qué entidad estás buscando instancias? Si está obteniendo instancias de 'Item', entonces el descriptor de ordenación debe determinar el orden de clasificación de' Item's y no tiene nada que ver con la relación ordenada 'Item' tiene que' Tag'. La excepción se debe a que su keyPath no termina en un atributo sino en un conjunto. Pruebe 'etiquetas. @ Count' por ejemplo en su lugar. –
Tengo una consulta similar. En este caso, estoy buscando todos los elementos asociados con etiqueta (solicitud de búsqueda en entidad de artículo) y dado que etiqueta a artículo es una relación ordenada, quiero buscar elementos vinculados con etiquetas "en el orden" en que se guardó en la base de datos. Coredata no expone la tabla intermedia utilizada para mantener la relación ordenada, entonces, ¿cómo especificar eso en NSFetchedResultsController? – siasl
Estoy intentando recuperar todas las instancias de elementos vinculados a una intancia de etiqueta en el orden en que se guardaron. Estoy imprimiendo la consulta SQL a la consola y si uso etiquetas como el descriptor de clasificación, puedo ver que el resultado está ordenado por una tabla intermedia, sin embargo, esto es interno a los datos centrales. ¿Hay alguna forma de especificar este orden usando el descriptor de clasificación? SELECCIONAR DISTINCT 0, t0.Z_PK FROM ZKDITEM t0 UNIRSE A Z_2TAGS t1 ON t0.Z_PK = t1.Z_2ITEMS WHERE t1.Z_4TAGS =? ORDER BY t1.Z_FOK_2ITEMS – Ash