While all theses methods may look valid, what not simply use a static variable 
declared in your file ?

Instead of trying to use complex approach to hide the fact you need a global, 
just use one, and don't try to reuse the existing one for things there are not 
designed to do.


static id myCallbackHandler;

void someCallBack() {
        [myCallbackHandler handleCallBack];
}

- (void)foo {
        myCallbackHandler = self;
        callCFunctionWithCallBack(someCallBack);
        myCallbackHandler = nil;
}


Le 30 juil. 2013 à 15:44, Maxthon Chan <xcvi...@me.com> a écrit :

> My common way of handling this would be NSNotificationCenter. It is a 
> singleton so I am always sure that it is there, and I can wrap all parameters 
> into the userInfo dictionary.
> 
> Sent from my iPhone
> 
>> On 2013年7月30日, at 21:19, KappA <rejek...@gmail.com> wrote:
>> 
>> I sometimes just access my objc-objects from a C thread-proc via the
>> AppDelegate (providing there's a trail to the object I need, which there
>> usually is)... If the callback void pointer parameter isn't being used for
>> something else, you can simply cast the object in there... or if you need
>> multiple parameters you can create a struct that stores what you need and
>> pass that. Not sure if this helps but figured I'd mention it.
>> 
>> AppDelegate *d = [[UIApplication sharedApplication] delegate];
>> 
>> 
>> 
>>> On Tue, Jul 30, 2013 at 8:53 AM, lowell <lowe...@me.com> wrote:
>>> 
>>> The first two parameters to the function have to be an id and a SEL ...
>>> 
>>>   typedef id (*IMP)(id, SEL, ...);
>>> 
>>> ... (this is where we get self and _cmd, by the way) followed by the rest
>>> of the method params, if any.
>>> 
>>> 
>>> lowell
>>> 
>>> 
>>>> On Jul 30, 2013, at 12:59 AM, Vincent Habchi <vi...@macports.org> wrote:
>>>> 
>>>> Hi everybody,
>>>> 
>>>> I have a very simple question: if I embed a C-function (more precisely,
>>> a callback from an external C-library) in an Obj-C object, can I expect
>>> this function to behave like a regular method? I.e. can it freely access
>>> ‘self’ and other attributes?
>>>> 
>>>> Thanks a lot!
>>>> Vincent
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 
>>>> 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:
>>>> https://lists.apple.com/mailman/options/cocoa-dev/lowellv%40me.com
>>>> 
>>>> This email sent to lowe...@me.com
>>> 
>>> 
>>> _______________________________________________
>>> 
>>> 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:
>>> https://lists.apple.com/mailman/options/cocoa-dev/rejekted%40gmail.com
>>> 
>>> This email sent to rejek...@gmail.com
>> _______________________________________________
>> 
>> 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:
>> https://lists.apple.com/mailman/options/cocoa-dev/xcvista%40me.com
>> 
>> This email sent to xcvi...@me.com
> 
> _______________________________________________
> 
> 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:
> https://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org
> 
> This email sent to devli...@shadowlab.org

-- Jean-Daniel





_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to