4

Ist es möglich, mit NSArrayController einen Wert NSTextField an ein bestimmtes Element im Array zu binden? Insbesondere möchte ich eine Eigenschaft an das erste Element im Array binden und nichts anzeigen, wenn das Array leer ist.Cocoa-Bindung an ein bestimmtes Element in einem Array-Controller

Mit arrangedObjects.command zeigt nur „(.“ - vermutlich eine mehrzeilige Zeichenfolge mit kommagetrennten Zeichenfolge für jedes Element zu zeigen, es versucht, ich will nur die ersten

Antwort

6

Bind das Textfeld zu selection.command. Setzen Sie den Auswahlindex des Array-Controllers programmgesteuert auf 0. Wenn Sie Elemente zum Inhalts-Array hinzufügen oder daraus entfernen, müssen Sie den Auswahlindex möglicherweise auch auf 0 zurücksetzen.

Offensichtlich funktioniert das nicht, wenn Sie Erlaubt dem Benutzer, Elemente innerhalb des Array-Controllers auszuwählen (Sie würden einen zweiten Array-Controller benötigen.) Ich nehme an, dass das nicht der Fall ist, denn wenn es so wäre, würde ich erwarten, dass Sie den Benutzer zeigen möchten - ausgewähltes Objekt, anstatt immer das erste Objekt.

BEARBEITEN: Noch besser, nichts wie das tun - wenn das Objekt, das zuerst im Array ist, einen besonderen Status hat, sollten Sie eine separate Nicht-Array-Eigenschaft (im selben Objekt, das das ursprüngliche Array enthält, von denen Ich nehme an, der Array-Controller bekommt es), um das Objekt, das diesen Status hat, zu halten.

+0

Ich hatte nicht an die Auswahl Eigenschaft gedacht. Danke - das sollte funktionieren. (Und Sie haben Recht, dieses Array ist nie benutzerdefinierbar). –