Calling processPendingChanges from awakeFromInsert
Calling processPendingChanges from awakeFromInsert
- Subject: Calling processPendingChanges from awakeFromInsert
- From: Michael Burns <email@hidden>
- Date: Thu, 20 Sep 2007 16:13:03 -0400
Hello list,
I'm having a strange problem while trying to set a value for an
NSManagedObject in its "awakeFromInsert" method. The code is as
follows:
- (void)awakeFromInsert
{
[super awakeFromInsert];
NSManagedObjectContext* moc = [self managedObjectContext];
// don't allow this new object to be undone
[moc processPendingChanges];
[[moc undoManager] disableUndoRegistration];
[self performSelector:@selector(setUniqueProject) withObject:nil
afterDelay:0];
// turn the undo manager back on
[moc processPendingChanges];
[[moc undoManager] enableUndoRegistration];
}
The object is inserted by pressing a button binded to an
NSArrayController who's set is binded to an NSTableView. The problem
is that when I run this code as is, it creates two identical objects
in the table view. If I comment out the two [moc
processPendingChanges] lines, the problem goes away but then (of
course) I can undo the actions in "setUniqueProject" and that is not
good.
Maybe there is an easier way to go about this entirely (I just want
to set the "Project" relationship of this object to the current
project when it is created ... can this really be that complicated?)
Thanks!
Mike
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden