Objective C を使用して iPhone アプリを構築しています。私のアプリでは、画像にストロークを描画しており、元に戻す機能とやり直し機能を実装したいと考えています。
私はこれに使用NSUndoManager
しました。これにより、1 レベル下の描画を元に戻すことができますが、私の要件は、可能な限り低いレベル (または少なくとも 10 レベル下) で描画を元に戻すことです。すでにsetLevelsOfUndo
を 10 に設定していましたが、機能しません。
私は次のコードを使用しています:
- (void)UnDoImage1:(UIImage*)image
{
if (capturedImage.image != image)
{
[self.managedObjectContext.undoManager undo];
[[self.managedObjectContext.undoManager prepareWithInvocationTarget:self] UnDoImage1:capturedImage.image];
[capturedImage release];
capturedImage.image = [image retain];
}
}
どこが間違っているか教えてください。私はすでにこれについて長い間グーグルで調べてきましたが、機能の失敗の正確な原因は見つかりませんでした.