Я создаю приложение для iPhone с Objective C. В моем приложении я рисую штрихи на изображении и хочу реализовать функции отмены и возврата.
Я использовал NSUndoManager
для этого. Благодаря этому я могу отменить мой рисунок на один уровень вниз, но мое требование - отменить рисунок на его минимально возможном уровне (или, по крайней мере, минимум на 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];
}
}
Пожалуйста, дайте мне знать, где я ошибаюсь. Я уже давно гуглил по этому, но не нашел точную причину сбоя функциональности.