5

Ich habe angefangen, mit Core Data zu arbeiten, und während ich herausgefunden habe, wie man es in normalen Cocoa-Anwendungen benutzt, scheint es in Cocoa Touch etwas anders zu funktionieren. Wie binden Sie Entitäten an Objekte wie Tabellenzellen in Cocoa Touch?Was ist der Cocoa Touch entspricht NSArrayController?

Antwort

4

Wenn Sie CoreData auf iPhone OS 3.0 und höher verwenden, sollten Sie sich NSFetchedResultsController ansehen. Obwohl es nicht wirklich ein Analogon zu NSArrayController ist, ist es speziell für die Verwendung mit UITableView und seinem Controller konzipiert.

Es bietet eine Möglichkeit, Elemente aus der Persistenz nach Bedarf zu laden, wobei die Leistungs- und Speicherbeschränkungen des Geräts berücksichtigt werden. Es ist nicht so sauber wie einfach Dinge zu binden, aber es wird wahrscheinlich alles tun, was du brauchst (und mehr!) Mit einer kleinen Menge Code.

+0

"NSFetchedResultsController" wird nicht angezeigt, obwohl ich einen 'UITableViewController' sehe; sind sie analog? In jedem Fall habe ich Probleme herauszufinden, wie die Array-Daten an den Controller zu füttern. Danke für den Zeiger über einige der Umweltunterschiede! – Kaji

+0

'NSFetchedResultsController' kann hier gefunden werden: http://developer.apple.com/iphone/library/documentation/CoreData/Reference/NSFetchedResultsController%5FClass/Reference/Reference.html – jbrennan

+0

' NSFetchedResultsController' funktioniert grundsätzlich als eine Hilfsklasse zu ' UITableView' und 'UITableViewController'. Es handelt sich um eine Modellklasse, die mit Ihren CoreData-Objekten arbeitet und diese für die Anzeige in einer Tabelle vorbereitet. – jbrennan

6

Leider werden Bindungen im iPhone OS nicht unterstützt. Siehe Seite this in den Apple Entwickler-Dokumenten.

Ich glaube, das bedeutet, dass Sie den NSArrayController im iPhone OS nicht verwenden können.

+0

meinst du zum Glück. ArrayControllers sind schrecklich und verwirren beim Einrichten. – SpaceDog

1

Jergason ist richtig: Sie können keine Bindungen oder den NSArrayController mit Core Data auf dem iPhone verwenden.

Überprüfen Sie stattdessen NSFetchedResultsController, die "die Ergebnisse effizient verwalten soll, die von einer Core Data-Abrufanforderung zurückgegeben werden, um Daten für ein UITableView-Objekt bereitzustellen."

Verwandte Themen