[MacRuby-devel] How to retrieve an observer's context?
Edward Hynes
ehynes at dharmagaia.com
Mon Apr 20 19:23:25 PDT 2009
Hi Laurent,
Thanks for the help. Did you mean to set the context ivar on the
observer or on the subject? Wouldn't setting it on the observer
result in the last registration 'winning' if the observer is watching
more than one subject?
Ed
On Apr 20, 2009, at 4:28 PM, Laurent Sansonetti wrote:
> Hi Edward,
>
> Context arguments in Objective-C are generally void pointers, which
> makes them hard to use in Ruby. Also, since we run in Objective-C GC
> mode, objects could potentially be collected since contexts do not
> set up AFAIK write barriers.
>
> I would recommend to set up an instance variable on your observer
> instead (and pass nil as the context).
>
> observer.instance_variable_set(:@context, your_context)
>
> And later in your observer method, retrieve the ivar.
>
> Laurent
More information about the MacRuby-devel
mailing list