Re: dictionary as contextInfo in alert sheet
Re: dictionary as contextInfo in alert sheet
- Subject: Re: dictionary as contextInfo in alert sheet
- From: "Shawn Erickson" <email@hidden>
- Date: Wed, 2 May 2007 08:12:59 -0700
On 5/2/07, Ron Fleckner <email@hidden> wrote:
On 02/05/2007, at 5:56 PM, j o a r wrote:
>
> On 2 maj 2007, at 09.37, Ron Fleckner wrote:
>
>> I want to pass a dictionary as the context info in an alert
>> sheet. I'm using NSBeginAlertSheet(). If I add a button to the
>> sheet and pass that button as the contextInfo, I can access the
>> button's (switch button) value OK in the sheet's didEnd method.
>> But for some reason that I don't know, passing a dictionary
>> doesn't work. My goal is to pass the button as well as an int
>> (wrapped as an NSNumber of course).
>
>
> You probably have a memory management error with passing the
> dictionary.
>
> Try to retain the dictionary before passing it as the context, and
> then release it when you get it back and and are done with it.
>
> I'll leave it as an exercise for the reader to figure out why you
> might need to do this, and why you wouldn't need to do it for the
> button!
>
>
> Passing the button with the context dictionary should in the
> general case not be necessary, as if you have a reference to the
> button before opening the sheet, you typically also have a
> reference to it in the callback method after the sheet is closed.
> Obviously, you might have a design where this is not the case.
>
>
> j o a r
>
>
Well, of course that worked. Thanks very much. I can usually
recognise a memory error, but was distracted by the button working.
Now I'll have to do the 'exercise for the reader'. The button isn't
an IBOutlet. It's made in code. I've no idea why the button doesn't
need to be retained and the dictionary does. But, there's always the
docs. I'll have a look see if I can work it out.
Hint: the button exits in the view hierarchy of the alert sheet
-Shawn
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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