On 8/12/09 11:41 AM, Jerry Krinock said: >I release a "regular" instance variable in my managed object's - >didTurnIntoFault, and discovered that this was causing a crash >sometime after an undo. In searching code on the internet I see that >others have reported such crashes. I solved the problem by setting >the instance variable to nil: > >- (void)didTurnIntoFault { > [childrenTemp release] ; childrenTemp = nil ; > > [super didTurnIntoFault] ; >} > >Now I understand that if nilling an instance variable after releasing >it is done in -dealloc, it is papering over other memory management >problems and is therefore bad programming practice. But I believe >that this practice is OK in -didTurnIntoFault because, particularly >when Undo is involved, -didTurnIntoFault may be invoked more than once >on an object. Therefore nilling after releasing in -didTurnIntoFault >is recommended. > >Does anyone disagree?
I made that discovery a few months back too, and I agree with your reasoning and conclusions. I also asked an Apple guy at WWDC and he concurred too. hth, -- ____________________________________________________________ Sean McBride, B. Eng s...@rogue-research.com Rogue Research www.rogue-research.com Mac Software Developer Montréal, Québec, Canada _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com