Ich versuche eine iPad App zu erstellen, die mit Core Data arbeitet. Aber ich stehe vor einem Design- und Coding-Problem. Angenommen, ich füge einen UIViewController zu meinem Fenster hinzu und innerhalb dieses Viewcontrollers muss ich zwei Tableviews (2 verschiedene Entities) und 2 Views (2 andere Entities) anzeigen (also muss ich 4 Entities für einen UIViewController holen). Ich habe nur Tutorials gefunden, die erklären, wie man NSFetchedResultsController mit einem UITableView verwendet!
Meine Frage ist: Soll ich 2 UITableView und 2 NSFetchedResultsController in meinem ViewController deklarieren? Oder sollte ich 2 UITableViewController deklarieren und dann in jedem von ihnen einen NSFetchedResultsController deklarieren? Was ist mit den zwei anderen Ansichten? Ich sollte NSFetchRequest verwenden? Wenn ja, wo ? innerhalb der Ansichten oder innerhalb des UIViewControllers?
Ich weiß, es ist eine Menge Fragen :). Vielen Dank im Voraus für Ihre Hilfe.
Ja, Sie möchten 2 NSFetchedResultsController verwenden, einen pro UITableView. NSFetchedResultsController übernimmt NSFetchRequest. Daher sollten Sie Ihre NSFetchRequests basierend auf den Daten konfigurieren, die in den UITableViews angezeigt werden sollen.
Sie sollten diese gesamte Steuerungslogik in Ihre UIViewController-Unterklasse einfügen.
Es ist in Ordnung, mehrere UITableViews in einem einzelnen UIViewController zu haben, denken Sie nur an die Delegaten- und Datenquellenmethoden. Sie müssen den UITableView-Parameter testen, um zu sehen, welche Tabelle nach der Daten- / Delegierungsbehandlung fragt.
Wie werden zwei Ansichten gleichzeitig angezeigt? Wie auch immer Sie es tun, ich würde die Zwei-Controller-Methode vorschlagen, vielleicht mit einer Wrapping-Klasse, die beide enthält und jede Interaktion zwischen ihnen steuert. Das scheint mir am besten mit dem MVC-Paradigma zu passen.
Tags und Links iphone ios core-data ipad nsfetchedresultscontroller