Stavo iniziando a lavorare con Core Data un po ', e mentre ho capito come usarlo nelle normali applicazioni Cocoa, sembra che funzioni in modo leggermente diverso in Cocoa Touch. Come si legano le entità a oggetti come le celle di una tabella in Cocoa Touch?Qual è il Cocoa Touch equivalente a NSArrayController?
risposta
Se stai utilizzando CoreData su iPhone OS 3.0 e versioni successive, ti consigliamo di guardare NSFetchedResultsController
. Sebbene non sia realmente un analogo a NSArrayController
, è stato progettato specificamente per essere utilizzato con UITableView
e il suo controller.
Fornisce un modo per caricare elementi dalla persistenza secondo necessità, tenendo presenti le prestazioni e i vincoli di memoria del dispositivo. Non è così semplice come le cose semplicemente vincolanti, ma probabilmente farà tutto il necessario (e anche di più!) Con una piccola quantità di codice.
Sfortunatamente, i collegamenti non sono supportati nel sistema operativo dell'iPhone. Vedi la pagina this nella documentazione per gli sviluppatori Apple.
Credo che questo significhi che non è possibile utilizzare NSArrayController nel sistema operativo dell'iPhone.
intendi per fortuna. I controller di array sono orribili e confondono la configurazione. – SpaceDog
Jergason è corretto: non è possibile utilizzare binding o NSArrayController con Core Data su iPhone.
Invece, controlla NSFetchedResultsController che "è destinato a gestire in modo efficiente i risultati restituiti da una richiesta di recupero dei dati di base per fornire dati per un oggetto UITableView."
Non vedi 'NSFetchedResultsController', anche se vedo un' UITableViewController'; sono analoghi? In ogni caso, ho difficoltà a capire come inviare i dati dell'array al controller. Grazie per il puntatore su alcune delle differenze ambientali! – Kaji
'NSFetchedResultsController' può essere trovato qui: http://developer.apple.com/iphone/library/documentation/CoreData/Reference/NSFetchedResultsController%5FClass/Reference/Reference.html – jbrennan
' NSFetchedResultsController' fondamentalmente funziona come una classe helper per ' UITableView' e 'UITableViewController'. È una classe del modello che funziona con gli oggetti CoreData e li prepara per la visualizzazione in una tabella. – jbrennan