I am trying to develop an iPhone application (demo project) using objective-C which can apply multiple photographic effects to images.
The application is up and running but I thought of implementing an 'undo' and 'redo' function in the UI. I have successfully coded one-level of undo-redo, i.e one step backward or forward with ease. But the concept gets complicated when incorporating multiple levels of undo and redo action. It gets especially murky when user undoes a sequence of steps and then branches into doing something else. The more states I try to save, the more deluded I become.
I would like to know if there is a standard best practice for implementing this sort of action. Any architecture or framework that I should be using? What is the generally accepted procedure for doing this? Any general advice for streamlining this method would be appreciated.
Please help.