Re: Using NSNotificationCenter passing an object or value?
Re: Using NSNotificationCenter passing an object or value?
- Subject: Re: Using NSNotificationCenter passing an object or value?
- From: "Eric E. Dolecki" <email@hidden>
- Date: Tue, 3 Aug 2010 16:00:06 -0400
WHen you say it takes an NSNotification object as a parameter, you mean to
say that it's missing, correct?
On Tue, Aug 3, 2010 at 3:46 PM, Quincey Morris
<email@hidden>wrote:
> On Aug 3, 2010, at 12:34, Eric E. Dolecki wrote:
>
> > -(void) buttonClicked:(id)sender
> > {
> > [[NSNotificationCenter defaultCenter]
> > postNotificationName:@"ButtonClicked"
> > object:sender];
> >
> >
> > In a class which manages these custom views, I have this code *(B):*
> >
> >
> > - (id)initWithFrame:(CGRect)frame {
> > if ((self = [super initWithFrame:frame])) {
> > mydata = [[NSArray alloc] init];
> > menuItems = [[NSMutableArray alloc] initWithCapacity:40];
> > [[NSNotificationCenter defaultCenter] addObserver:self
> > selector:@selector(buttonClicked) name:@"ButtonClicked" object:nil];
> > }
> > return self;
> > }
> >
> > -(void) buttonClicked {
> > //This works, but I need to know the tag
> > NSLog(@"clicked");
> > }
> >
> > Now, obviously in that I have object set to nil. How can I set this up? I
> > could change object to nil and use userInfo:someNSDictionary in the
> > customview which contains the UIButton... but I run into the same problem
> > in *(B). * I really haven't seen much in Google in regards to userInfo
> and
> > looking for some help on it. I understand some of how it works, not sure
> how
> > to set that *addObserver* part up properly.
>
> You *really* need to read the documentation. Your second "buttonClicked"
> method prototype is wrong -- it takes a NSNotification object as a
> parameter. If you had coded that properly, you would have a way of getting
> the notification's userInfo. (Or, to get the object and ask it for its tag.
> Or whatever.)
>
> Your first "buttonClicked" method (why give them the same name?) can use
> 'postNotificationName:object:userInfo:' if you really need to pass userInfo.
> (Again, you don't need to use userInfo if you just want the button's tag.)
>
>
> _______________________________________________
>
> 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
>
--
http://ericd.net
Interactive design and development
_______________________________________________
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