Hallo,
wieder ein kleines Problem mit Core Data/Bindings:
Entität: Bild (repräsentiert ein Bild - wer hätte es gedacht)
Ein Bild-Objekt hat u.a ein "imageData" Attribut - vom Typ Binary, welches die Bilddaten hält.
Ich stelle nun alle vorhandenen Bilder in einer Tabelle dar. Ein NSImageView's data Binding ist gebunden an (einen ArrayController mit Bild-Objekten) - KeyPath: selection.imageData.
Das funktioniert. Benutzer wählt ein Bild in der Tabelle und es wird noch zusätzlich im ImageView angezeigt. Nun möchte ich aber dem Benutzer auch ein Bild anzeigen, falls er mehrere Bilder markiert. Ich würde dann einfach zur Laufzeit aus den markierten Bildern ein einziges Bild erzeugen.
Klar - das geht prima mit einem eigenem Controller, der die selection bzw. die selectedObjects des ArrayControllers observiert und auf Änderungen reagiert.
Aber der direkte Weg wäre doch der folgende: Bei meiner Selektion mehrere Bilder ist die "selection" des ArrayControllers ein Proxy, der (falls er das darf) jedes setValue:forKey auf all "seine" Objekte (für die er eben der Stellvertreter ist) anwendet. Nun müsste es doch in diesem ganzen Bindingsurwald doch eine Möglichkeit geben wie man gezielt den Proxy beeinflussen kann.
Oder gibts das nich?
wieder ein kleines Problem mit Core Data/Bindings:
Entität: Bild (repräsentiert ein Bild - wer hätte es gedacht)
Ein Bild-Objekt hat u.a ein "imageData" Attribut - vom Typ Binary, welches die Bilddaten hält.
Ich stelle nun alle vorhandenen Bilder in einer Tabelle dar. Ein NSImageView's data Binding ist gebunden an (einen ArrayController mit Bild-Objekten) - KeyPath: selection.imageData.
Das funktioniert. Benutzer wählt ein Bild in der Tabelle und es wird noch zusätzlich im ImageView angezeigt. Nun möchte ich aber dem Benutzer auch ein Bild anzeigen, falls er mehrere Bilder markiert. Ich würde dann einfach zur Laufzeit aus den markierten Bildern ein einziges Bild erzeugen.
Klar - das geht prima mit einem eigenem Controller, der die selection bzw. die selectedObjects des ArrayControllers observiert und auf Änderungen reagiert.
Aber der direkte Weg wäre doch der folgende: Bei meiner Selektion mehrere Bilder ist die "selection" des ArrayControllers ein Proxy, der (falls er das darf) jedes setValue:forKey auf all "seine" Objekte (für die er eben der Stellvertreter ist) anwendet. Nun müsste es doch in diesem ganzen Bindingsurwald doch eine Möglichkeit geben wie man gezielt den Proxy beeinflussen kann.
Oder gibts das nich?
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
