Hi. Drag & Drop funktioniert im NSCollectionView mittlerweile perfekt. Bin sehr zufrieden. Jetzt soll es möglich sein, ein zugeordnetes Tag auch wieder zu entfernen. Dazu habe ich im NSView des NSCollectionViewItem einen kleinen Lösch Button reingebastelt. Wenn der User diesen drückt, soll eine Methode ausgeführt werden. Darin soll der Löschcode ablaufen. Ich müßte dann wissen, welches Tag (ManagedObject) selektiert wurde. Ich komm aber nicht auf die Lösung. Habe schon observeForValueKeyPath implementiert. Allerdings wird natürlich beim Klicken auf den Button nicht das CollectionViewItem als selektiert gesetzt. Ich hatte gehofft, so an den Index ranzukommen.
Alles anzeigen
Das Log sagt:
Irgendwelche Ideen, wie man das rauskriegen könnte? Danke. Kay.
Quellcode
- //Observer for the collection view array controller selection: "selectionIndexes"
- - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
- if([keyPath isEqualTo:@"selectionIndexes"])
- {
- //True if in the array controller of the collection view really exists at least a selected object
- if([[tagsArrayController selectedObjects] count] > 0) {
- NSLog(@"Selected objects: %@", [tagsArrayController selectedObjects]);
- }
- else {
- NSLog(@"Observer called but no objects where selected.");
- }
- }
- }
Das Log sagt:
2010-11-28 12:10:25.702 XXX[3606:a0f] Selected objects: (
"<Tag: 0x100560a20> (entity: Tag; id: 0x1005b2270 <x-coredata://4703ED5D-B44E-4D0D-9FB8-D5A280B7168D/Tag/p116> ; data: {\n xxxx = (\n );\n name = \"Letzter Tag\";\n})"
)
Irgendwelche Ideen, wie man das rauskriegen könnte? Danke. Kay.