Frage

Nehmen wir zwei Core Data-Entitäten, die wie folgt eingerichtet sind:

Entität A:Auto

Attributes:
    year
    model
Relationships:
    manufacturer (<<-> Manufacturer)

Entität B:Hersteller

Attributes:
    name
    country
Relationships:
    cars (<->> Car)

Jetzt möchte ich die Anzeige an eine binden NSTableView Hier haben wir in einer Spalte das Modell des Autos, gefolgt vom Hersteller, gefolgt vom Jahr.Das Binden des Modells und des Jahres ist kein Problem, aber wenn ich die Beziehung an eine Spalte in der Tabelle binde, erhalte ich in jeder Zelle dieser Spalte den Text eines Beziehungsfehlers anstelle von allem, was ich suche. Wie kann ich mit der Bindung experimentieren, damit ich den richtigen Herstellernamen für das Auto anzeigen kann?

Um die Frage etwas weiter auszudehnen: Wie könnte ich eine andere Tabellenansicht einrichten, um beispielsweise andere anzuzeigen? Car Einträge mit dem gleichen manufacturer Beziehung?

War es hilfreich?

Lösung

Etwas mehr Informationen darüber, wie Sie es derzeit eingerichtet haben, wären hilfreich.Sie sollten in der Lage sein, Ihren Array-Controller auf genau die gleiche Weise wie Ihre anderen Attribute zu binden, mit derselben Bindung und demselben Controller-Schlüssel.Verwenden Sie einfach den vollständigen Schlüsselpfad manufacturer.name für den Modellschlüsselpfad.

Für eine Zu-viele-Beziehung verwenden Sie zwei Array-Controller.Richten Sie den „Master“-Array-Controller ein, um seinen eigenen Inhalt aus Ihren Kerndaten vorzubereiten Manufacturer Klasse (in Entity Modus).Anschließend erstellen Sie einen sekundären „Detail“-Array-Controller.Lassen Sie den Detail-Array-Controller drin Class Modus (mit der Standardeinstellung NSMutableDictionary Klasse) und binden Sie den Inhaltssatz an Ihren Master-Array-Controller, wobei der Controller-Schlüssel auf eingestellt ist selection und der Modellschlüsselpfad zu cars.

Es gibt viele, viele Tutorials, die genau dies tun.Ich empfehle dringend, ein oder zwei durchzugehen;ich fand dieses MacResearch.org-Tutorial besonders hilfreich.Die gesamte Serie ist großartig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top