5

He estado empezando a trabajar con Core Data un poco, y aunque he descubierto cómo usarlo en las aplicaciones regulares de Cocoa, parece que funciona de manera un poco diferente en Cocoa Touch. ¿Cómo vincula entidades a objetos tales como celdas de tabla en Cocoa Touch?¿Cuál es el Cocoa Touch equivalente a NSArrayController?

Respuesta

4

Si está utilizando CoreData en el iPhone OS 3.0 y superior, tendrá que mirar NSFetchedResultsController. Aunque no es realmente un análogo a NSArrayController, está diseñado específicamente para ser utilizado con UITableView y su controlador.

Proporciona una forma de cargar elementos de la persistencia según sea necesario, teniendo en cuenta el rendimiento y las limitaciones de memoria del dispositivo. No es tan limpio como simplemente atar cosas, pero probablemente hará todo lo que necesita (¡y más!) Con una pequeña cantidad de código.

+0

No veo 'NSFetchedResultsController', aunque sí veo un' UITableViewController'; ¿son análogos? En cualquier caso, estoy teniendo problemas para averiguar cómo alimentar los datos de la matriz al controlador. ¡Gracias por el puntero sobre algunas de las diferencias ambientales! – Kaji

+0

'NSFetchedResultsController' se puede encontrar aquí: http://developer.apple.com/iphone/library/documentation/CoreData/Reference/NSFetchedResultsController%5FClass/Reference/Reference.html – jbrennan

+0

' NSFetchedResultsController' básicamente funciona como clase de ayuda a ' UITableView' y 'UITableViewController'. Es una clase modelo que funciona con sus objetos CoreData y los prepara para mostrarlos en una tabla. – jbrennan

6

Desafortunadamente, los enlaces no son compatibles con el sistema operativo del iPhone. Consulte la página this en los documentos del desarrollador de Apple.

Creo que esto significa que no puede usar NSArrayController en el sistema operativo del iPhone.

+0

te refieres afortunadamente. ArrayControllers son terribles y confunden para configurar. – SpaceDog

1

Jergason es correcto: no puede usar enlaces o NSArrayController con Core Data en el iPhone.

En su lugar, consulte NSFetchedResultsController que "tiene como objetivo administrar de manera eficiente los resultados devueltos de una solicitud de búsqueda de datos básicos para proporcionar datos para un objeto UITableView".

Cuestiones relacionadas