好的,所以我想在我的应用程序中添加撤消某些操作的功能。我打算用我自己的协议或其他东西创建一种方法来做到这一点,但后来我发现了NSUndoManager
. 我想使用内置的基础方式,但我似乎无法弄清楚。我需要撤消多个骰子滚动,所以如果我可以将以前的骰子存储为 中的对象NSArray
,那可能是最好的。我可以使用NSMutableString
,但首选数组。
然后我知道你可以摇晃来撤消,但我宁愿有一个按钮。这些一直给我带来最大的麻烦。我在下面列出了我的尝试。这些都没有奏效。任何帮助,将不胜感激。
在 viewDidLoad 中:
undoManager = [[NSUndoManager alloc] init];
然后在掷骰子的方法中,我尝试了:
[[undoManager prepareWithInvocationTarget:self] undoButton];
[[undoManager prepareWithInvocationTarget:self]
[[undoManager prepareWithInvocationTarget:self] setString:[NSString stringWithFormat:@"%i", dice1num]];
setStrings:[NSArray arrayWithObjects:[NSString stringWithFormat:@"%i", dice1num]
[NSString stringWithFormat:@"%i", dice1num],
[NSString stringWithFormat:@"%i", dice1num],
[NSString stringWithFormat:@"%i", dice1num],
[NSString stringWithFormat:@"%i", dice1num], nil]];
[[undoManager prepareWithInvocationTarget:@selector()];
[undoManager setActionName:@"A roll"];
然后是链接到撤消按钮的 IBAction:
-(IBAction)undoButton{
[undoManager undo];
}
提前致谢