On Mon, Jan 13, 2014, at 07:21 AM, Markus Spoettl wrote: > Hi, > > I have an app that uses UIDocument and NSUndoManager. That way the > system > picks up changes to the data and knows when to auto-save. > > Some parts of the model are not using the undo manager (mostly settings > where > undo makes no sense or isn't wanted). Still that data is stored alongside > the > main data. > > What I want is that iOS saves whenever the app is backgrounded. > > So the questions is: Can I safely call -updateChangeCount: when my app is > being > sent to the background alongside the automatic NSUndoManager change > handling? > > It seems to work quite nicely (when called from the app delegate's > -applicationWillResignActive:), but I'm not sure if that's just an > illusion and > there's trouble waiting down the road. > > Any thoughts?
This does not strike me as a good idea. -updateChangeCount: is a counter; adding a place that increments the counter without having a corresponding decrement sounds like an invitation for state corruption, particularly in the presence of framework code that treats the counter as normal. It would be better to add a flag to your UIDocument subclass that you set whenever the user changes a non-undoable model property, and override -hasUnsavedChanges to return the OR of this property and super's return value. --Kyle Sluder _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com