Hi.
My OS-X app is using ARC, is CoreData Document-Based (using the old
NSPersistentDocument) and uses 10.9 SDK.
Up until now, I did nothing on my behalf to support user Undo/Redo, still the
application seemed to work fine. I was very impressed with Cocoa (this
millionth time).
However. In some of my application controller objects, I maintain and rely on
references to CoreData entities (NSManagedObject instances) for the application
state (The current entity I'm working on, etc.)
When user selects "Undo" (or cmd-Z) - my controllers lose track of the
application state. Last created entities get deleted by Core-Data, and my
references point to dead entities. In short - I lose synchronization with my
model.
If I set those entity references to "strong" then the NSManagedObjects can't be
released of course, but I'll soon crash because they were deleted from
CoreData. If I make them weak references insted, they will nullify upon undo
--- but no one will ever set these references to their previous values (the
older state).
It seems I need to add my own "undo actions" to the automatic mechanism, but I
don't know WHEN is the right time to do it, WHAT undo-managed I should address,
and HOW to group my "undo" and "redo" actions, with the CoreData's undo actions.
I tried to dive into the Undo architecture documentation, but got confused very
soon, especially because CoreData does its thing independently of other parts
of my program.
Any hint or sample-code reference, or clarifying note will be greatly
appreciated!
Motti Shneor.
---
But they are useless ---
they can only provide answers!
(Pablo Picasso 1881-1973 about Computers).
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]