Drag & Drop Problem

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

  • Drag & Drop Problem

    Hallo,

    ich habe ein Vokabelprorgamm. links im window ist ein tableview, in dem die Library der Vokabeln und die einzelnen Tests sind. rechts ist eine liste der vokabeln. ich habe nun implementiert, dass wenn man eine der vokabeln aus der library in einen test links zieht, automatisch die vokabeln zum test hinzugefügt werden. klappt auch alles wunderbar & einfach mit cocoa.
    code:

    Quellcode

    1. - (BOOL)tableView:(NSTableView *)aTableView acceptDrop:(id <NSDraggingInfo>)info
    2. row:(int)row dropOperation:(NSTableViewDropOperation)operation
    3. {
    4. NSPasteboard *pboard = [info draggingPasteboard];
    5. NSData *data = [pboard dataForType: TableViewDataType];
    6. NSIndexSet *indexSet = [NSKeyedUnarchiver unarchiveObjectWithData:data];
    7. RMSource *dragSource = [[self sources] objectAtIndex: 0];
    8. RMSource *dropSource = [[self sources] objectAtIndex: row];
    9. NSMutableArray *dropWordsArray = [[[NSMutableArray alloc] initWithArray: [dropSource words]] autorelease];
    10. [dropWordsArray addObjectsFromArray: [[dragSource words] objectsAtIndexes: indexSet]];
    11. [dropSource setWords: dropWordsArray];
    12. return YES;
    13. }
    Alles anzeigen

    Nun habe ich das problem: wenn der user eine spalte im tableview rechts mit den vokabeln klickt um sie zB nach Übersetzung zu sortieren und er dann per d&d die vokabeln in einen test zieht. dann stimmt nämlich die reihenfolge im array nicht mehr mit der des tableview überein und der user zieht andere vokabeln als er will in seine tests.
    wie kann ich das besser lösen?

    ps: ihr habt übers wochenende zeit zum antworten. bin nämlich weg und hab kein internet :)

    danke im vorraus
  • Das Problem sollte sein, das der Array dahinter falsch sortiert ist.
    Glaub nicht mal das sein Drag&Drop das Problem ist.

    stimmt eigentlich.
    wenn ich auf einen tablecolumn-header klicke, wird der inhalt des views sortiert. diese Sortierung würde ich gern in meinen array wieder übernehmen. wie löse ich das?