Estoy escribiendo una aplicación para iOS que tiene tienda de registros de personas, y tiene que mostrar las listas de los clasificó de manera particular. Hay un número variable de estos pedidos, y se generan sobre la marcha, pero me gustaría que se almacenaran en el almacén de datos. La forma de SQL para hacer esto es tener una tabla de ListPositions con un nombre de lista, una identificación en la tabla de personas y una clave de clasificación. Luego, para mostrar una lista en particular, puedo seleccionar todas las ListPositions de la lista con un nombre de pila, atraer a las personas a las que se hace referencia y ordenarlas en la clave de clasificación. Intentando hacer esto en CoreDatat, sin embargo, tengo problemas. Estoy tratando de hacer esto utilizando un esquema como:CoreData especie en relación a muchos
Person:
Name
DOB
etc...
positions -->> ListPosition
ListPosition:
listName
sortKey
person --> Person
Entonces, puedo conseguir todas las personas en una lista dada con el NSPredicate [NSPredicate predicateWithFormat:@"ANY positions.listName like %@", someList];
Esto me permite agregar dinámicamente listas contra un gran conjunto de personas. El problema es que no puedo usar el campo sortKey de ListPosition para ordenar las Personas. ¿Qué NSSortDescriptor hará esto? Y si no es posible ordenar una búsqueda en la propiedad de un elemento de una relación de muchos, ¿cuál es otra forma de obtener ordenamientos múltiples y dinámicos en coredatos? Estoy mostrando las listas con NSFetchedResultsController, por lo que no puedo poner las listas juntas en la memoria. Necesito hacerlo con una sola NSFetchRequest.
un formato más agradable sería mucho más fácil leer su pregunta. – vikingosegundo
nos dan código de ur! – vikingosegundo