On Jun 20, 2009, at 4:15 PM, Jean-Daniel Dupas wrote:
Le 20 juin 09 à 20:56, Quincey Morris a écrit :
On Jun 20, 2009, at 11:08, Jean-Daniel Dupas wrote:
- (void)dealloc {
[_object release];
[super dealloc];
}
Try changing this to:
- (void) dealloc {
self.object = nil;
[super dealloc];
}
'keyPathsForValuesAffectingName' is going to cause your wrapper to
observe its MyObject (not the observation that you set up manually,
but a different one set up internally). When the wrapper deallocs,
there's apparently nothing to cause this internal observation to be
removed, so the MyObject continues to be observed by a deallocated
object. At least, that's my theory.
Thank you for the suggestion, but it does not solve the problem.
Even trying w1.object = nil before unregistring the observer has no
effect.
The interesting thing is that doing w1.object = nil right before [w2
addObserver:foo forKeyPath:@"name"
options:NSKeyValueObservingOptionNew context:[Foo class]] does prevent
the problem.
I think this is a bug in KVO. You should file a Radar.
-Jeff
_______________________________________________
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