Unter der Haube wird an Bindungen in Xcode herumgebastelt
-
13-09-2019 - |
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?
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.