On Mar 8, 2011, at 9:42 AM, Gordon Apple wrote:

> Class A:  NSObject, has methods:
> 
> -  (void)foo:(Notification*)notification {
>    ...
> }
> 
> - (void)addObservers {
>    [[NSNotificationCenter defaultCenter] addObserver:self
>                                             selector:@selector(foo:)
>                                                 name:notificationName
>                                               object:nil];
> }
> 
> 
> Class B: subclass of A.  This is the class used.
> 
> Notification sent from elsewhere.  Console:
> 
> -[NSCFString foo:]: unrecognized selector sent to instance 0x69807c0
> 
> 
> Is this due to confusion of of which class received the notification?  Or is
> this a compiler/linker bug?  I even tried declaring foo in A’s headers, to
> no avail.  This same overall procedure is used elsewhere (without
> subclassing), with no problems.  What am I missing?
> 
> 
> 

That's a classic memory management problem.

Most likely, you're forgetting to unregister your observer when you are 
deallocating it (resulting in a notification center to have a stale pointer 
that is later reused by an NSString).


Glenn Andreas                      gandr...@gandreas.com 
The most merciful thing in the world ... is the inability of the human mind to 
correlate all its contents - HPL

_______________________________________________

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

Reply via email to