Füllen Sie ein array mit NSFetchRequest (CoreData)
Ich ein Projekt angelegt, für das iPad verwendet apples "Use CoreData"
Vorlage.
Schnitt ich einige Dinge, z.B. die Namen der Objekte, aber das system blieb das gleiche.
Apple verwendet eine MasterViewController.h
was ist ein UITableViewController
und ein DetailViewController.h
ist eine einfache UIViewController
. Sobald Sie ausgewählt haben, eines der Objekte in der UITableView
im MasterViewController.h
es gibt seine Attribute der DetailViewController
.
Nun das problem:
Erstellte ich eine Dritte Ansicht-controller, benannt ResultsViewController.h
die sollten alle Daten anzuzeigen (Eigenschaften der Objekte).
Möchte ich verwenden Sie eine oder mehrere NSArray(s)
enthalten alle meine Daten (nicht nur die ausgewählten, sondern alle. Also, wenn Sie 5 Objekte, die du haben willst 5 mal NSArray
).
(1) Wie kann ich abrufen die Werte der xcoredatamodel
in der Lage sein, um Ihnen den Zugang in ResultsViewController
? Senden Sie eine fetch-Anfrage ist nicht für mich arbeiten?
(2) Wie kann ich ermitteln, wie viele Objekte ich habe, meine UITableView
(MasterViewController.h
)?
CoreData-Struktur:
Einfach, eine Entität mehrere Attribute, das ist es!
Vielen Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst: Sie sollten nicht setzen Sie alle Ihre Daten in arrays. Dies führt zu Gedächtnis-Probleme, wenn Ihr Datenvolumen wächst. Core data ist eigentlich entworfen, um die Daten abzurufen, müssen Sie sehr effizient, ohne die Notwendigkeit der Erhaltung teuer parallele Datenstrukturen.
Also der bevorzugte Weg ist, um an der selben
NSManagedObjectContext
zu denResultsViewController
haben und Sie es abholen seine eigenen Daten nach Bedarf.Jedoch, wenn Sie wirklich wollen, Holen der Daten, ist einfach.
Array
fetchedObjects
jetzt alle Ihre Daten enthält. Sie können den Zugriff auf die Attribute in der üblichen Weise (z.B. mit dot-notation oder KVC).