- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
undoManager= [[NSUndoManageralloc]init];
_a=0;
}
-(void)setvalue:(NSString*)some
{
[undoManagerregisterUndoWithTarget:selfselector:@selector(setvalue:)object:self.label.text];
//或者[[_undomanager prepareWithInvocationTarget:self] setvalue:self.label.text];
[self.labelsetText:some];
_a= [self.label.textintegerValue];
}
- (IBAction)add:(id)sender {
_a++;
[selfsetvalue:[NSStringstringWithFormat:@"%ld",(long)_a]];
}
- (IBAction)undo:(id)sender {
[undoManagerundo];
}
- (IBAction)redo:(id)sender {
[undoManagerredo];
}