NSPopUpButtonCell in NSTableView lässt sich nicht "editieren"

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • NSPopUpButtonCell in NSTableView lässt sich nicht "editieren"

    Hallo,

    ich habe ein NSTableView mit einer Spalte, die mit NSPopUpButtonCells gefüllt wird. Die NSPopUpButtonCell Objekte befinden sich in einem NSMutableArray. So füge ich ein Objekt zu meinem NSMutableArray hinzu:

    Quellcode

    1. NSArray *operators = [NSArray arrayWithObjects:@"is equal", @"contains", nil];
    2. NSPopUpButtonCell *operatorsCell = [[NSPopUpButtonCell alloc] initTextCell:@"operators"];
    3. [operatorsCell addItemsWithTitles:operators];
    4. [_operators addObject:operatorsCell];


    _operators ist das NSMutableArray.

    Lasse ich mein NSTableView alle NSPopUpButtonCells anzeigen, so sehe ich nur ein "leeres" NSPopUpButton (pro Zeile) - siehe Bild.

    Wo ist mein Fehler?
    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].
  • RE: NSPopUpButtonCell in NSTableView lässt sich nicht "editieren"

    Original von Objcler
    ich habe ein NSTableView mit einer Spalte, die mit NSPopUpButtonCells gefüllt wird. Die NSPopUpButtonCell Objekte befinden sich in einem NSMutableArray.

    Hier ist Dein Fehler. Du hast einen vollkommen falschen Ansatz. Jede Spalte in NSTableView nutzt nur eine einzige dataCell-Instanz. Du brauchst nur eine NSPopUpButtonCell-Instanz, die Du mit -setDataCell: der gewünschten NSTableColumn übergibst oder einfach direkt im Interface-Builder setzt. In Deinem Datenmodell benötigst Du eigentlich nur reine Zahlen. Ich häng hier mal ein Demo-Nib ran, welches Du im Interface Builder Testmodus ausprobieren kannst.

    Michael