Frage

Ich habe ein Setup mit einem Objekt (OTNodeDatum) (OT für OutlineTest) das dargestellte Objekt in NSTreeNode zu sein. NSTreeNode ist die Klasse gezeigt in die Attribute Seite für NSTreeController.

Ich habe Dokument basierte Anwendung, keine Kerndaten. Auf MyDocument init, richtete ich Inhalte mit einem NSMutableArray ein Element, nämlich ein NSTreeNode mit einem dargestellten Objekt, das eine einzelne Eigenschaft enthält (ja, Namen).

In Schaltfläche Hinzufügen Child-Taste, Delete-Taste, angeschlossen über Interface Builder zur NSTreeController Add Aktion, etc.

Es funktioniert bis zu einem Punkt.

Wenn ich ein Add tun, erhalte ich eine neue leere Zeile, die ich kann bearbeiten, aber der eingefügte Text geht weg, wenn ich die Zelle verlassen.

Wenn ich einen Lösch tun, Dinge gelöscht.

Wenn ich add Kind tun, passiert nichts.

Ich glaube, ich habe entweder NSTreeNode Unterklasse oder NSTreeController das richtige Verhalten in Bezug auf die Kinder bekommen das Hinzufügen und das Hinzufügen eines neuen dargestellte Objekt zusätzlich einen neuen Baumknoten zu addieren.

Diese auf dem richtigen Weg? Wenn ich Unterklasse NSTreeController würde ich nur das Add außer Kraft setzen, addChild, bekommt das Richtige passieren? Und was könnte ich mess up? Ich kann keine Anleitung dazu scheinen zu finden, obwohl ich eine lange Zeit auf der Suche ausgegeben haben.

Danke.

John V

War es hilfreich?

Lösung

Es scheint, dass der richtige Weg, Dinge zu tun, oder zumindest eine Art und Weise, ist die Verwendung

-(void)insertObject:(id)object atArrangedOjectIndexPath:(int)index;

Erste representedObject erstellen, erstellen Sie eine neue NSTreeNode mit diesem Objekt dargestellt wird, dann ist es ein. Mehr Arbeit als eine einfach auf die Schaltfläche Hinzufügen, um den Baum-Controller anschließen, aber (hoffentlich) die Vorteile der Verwendung NSTreeNode es nachholen.

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