2012-04-02 6 views
3

Zunächst möchte ich erwähnen, dass ich die Apple Sample Code for the AbstractTree example verwendet habe.NSOutlineView + NSTreeController + CoreData + Bindungen Duplizieren von Zeilen

Ich habe die Bindungen arbeiten bis zu dem Punkt, dass sie Knoten anzeigen und die zwei Schaltflächen, die auf add: und remove: eingestellt sind funktionieren auch.

Das Problem, auf das ich stoße, ist, wenn ich einen der Knoten in einen anderen Knoten ziehe, um es zu einem Kind zu machen. Sie können in der Abbildung unten sehen, dass ich 2a und 2b unter 2 ziehen, die sie tun tun, aber sie löschen nicht von wo ich sie aus gezogen. Desweiteren, wenn ich eines von ihnen lösche, werden beide gelöscht.

Ich bin mit diesem http://f.cl.ly/items/3X1h162l3C2G230z1d1c/Screen%20Shot%202012-04-02%20at%2017.43.09.png Datenmodell.

Ich habe den TreeController-Modus zu Entity mit seinem Namen als Knoten (wie in meinem Modell), die es Kinder Schlüsselpfad zu children ist. Ich habe seine MOM auch an den Anwendungsdelegaten mit einem Modellschlüsselpfad des verwalteten ObjectContext gebunden.

Ich habe den Wert der an die Table ColumnTreeController gebunden, deren Steuertaste arrangedObjects und sein Modell Schlüsselpfad als name.

Ich habe die Dateien hochgeladen hier, wenn Sie sie benötigen: link

Kann mir jemand helfen? Ich bin ein Anfänger, wenn es um CoreData geht!

Vielen Dank, Gareth

+0

Das Projekt, das Sie verknüpfen sieht nicht aus wie Ihr Screenshot und das Modell Sie beschreiben. –

Antwort

1

Einfach den holen Prädikat Ihrer NSTreeControler zu

parent == nil 

und Sie können dieses Ergebnis. Thx für den Test-App :)

enter image description here

+0

Danke Stephan :) – GarethPrice

+0

@GarethPrice du bist willkommen .. die Antwort auf diese Fragen kann dich auch interessieren: http://StackOverflow.com/Questions/7039165/ Ich erwarte die nächste Sache wird der Verlust der willkürlichen Bestellung von Ihre Liste, weil CoreData-Beziehungen standardmäßig nicht geordnet sind. – Stephan

Verwandte Themen