Seite 457: Undo & Redo

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

  • Seite 457: Undo & Redo

    Für das Verständnis des NSUndoManager habe ich einen Verbesserungsvorschlag :)
    1. Die create Methode sollte das array unsortiert erstellen.
    2. Methode unsort löschen
    3. Neue Methode sortArray und geänderten Code der Methode sort:

    Quellcode

    1. - (void)sortArray:(NSArray*)this {
    2. NSLog( @"Methode: %@", NSStringFromSelector(_cmd) );
    3. NSUndoManager *undoManager;
    4. undoManager = [self undoManager];
    5. [undoManager registerUndoWithTarget:self
    6. selector:@selector(sortArray:)
    7. object:[NSArray arrayWithArray:array]];
    8. [undoManager setActionName:@"sortieren"];
    9. [array replaceObjectAtIndex:0 withObject:[this objectAtIndex:0]];
    10. [array replaceObjectAtIndex:1 withObject:[this objectAtIndex:1]];
    11. [array replaceObjectAtIndex:2 withObject:[this objectAtIndex:2]];
    12. [array replaceObjectAtIndex:3 withObject:[this objectAtIndex:3]];
    13. [array replaceObjectAtIndex:4 withObject:[this objectAtIndex:4]];
    14. [array replaceObjectAtIndex:5 withObject:[this objectAtIndex:5]];
    15. [array replaceObjectAtIndex:6 withObject:[this objectAtIndex:6]];
    16. [array replaceObjectAtIndex:7 withObject:[this objectAtIndex:7]];
    17. [array replaceObjectAtIndex:8 withObject:[this objectAtIndex:8]];
    18. [array replaceObjectAtIndex:9 withObject:[this objectAtIndex:9]];
    19. [self printArray];
    20. }
    21. - (IBAction)sort:(id)sender {
    22. NSLog( @"Methode: %@", NSStringFromSelector(_cmd) );
    23. [self sortArray:[NSArray arrayWithObjects:ding1, ding2, ding3, ding4, ding5, ding6, ding7, ding8, ding9, ding10, nil]];
    24. }
    Alles anzeigen

    Jetzt wird durch den Aufruf von Undo (aus dem Menu) der vorherige Zustand des array wieder hergestellt und mit Redo auch zurück :)