Estoy haciendo una tabla seccionada con resultados obtenidos, pero estoy teniendo problemas para obtener secciones personalizadas.Usar secciones personalizadas con NSFetchedResultsController?
Normalmente, uno solo tiene un atributo para ordenar, y usa sectionNameKeyPath:
para generar las secciones. Pero mi atributo de clasificación se calcula sobre la marcha, y me parece que no puede conseguir el fetchedResultsController
usarlo correctamente ...
Actualización: Usando jbrennan 's consejos a continuación, estoy muy cerca de la prevista funcionalidad. Agregué una Categoría al NSDate
que devuelve un número de "días atrás"; poner eso aquí me da secciones sobre la base de esos números:
NSFetchedResultsController *aFetchedResultsController =
[[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:managedObjectContext
sectionNameKeyPath:@"myDateAttribute.daysAgo"
cacheName:@"Root"];
Aquí es donde estoy atascado: no necesito de ellos ordenados por "hace días," Los necesito ordenados a través de algunos cálculos basados en otra atributos en la entidad. Así que no puedo acaba de llamar a ese método personalizado Categoría, tengo que llamar a un método con argumentos , así:
[myDateAttribute sortingRoutine:thisObject.value]
O algo por el estilo. Espero que tenga algún sentido. Gracias muchísimo si puedes ayudar :)
Aha! Esto funcionó maravillosamente, gracias. Ahora la aplicación se bloquea al guardar nuevas Tareas, pero voy a trabajar en eso un poco y publicar una pregunta por separado si es necesario. :) – Triz
Su aplicación no debe bloquearse al guardar: las propiedades transitorias no se almacenan, por lo tanto, esto no puede ser la causa de ninguna manera. –
En realidad, no se bloquea durante el proceso de guardado, sino * después *, cuando la vista vuelve a la tabla seccionada. No estaba haciendo esto antes de estos cambios, y no he hecho nada más, así que creo que está relacionado. Tal vez 'awakeFromFetch:' no se está llamando cuando reaparece la vista? – Triz