You must define a C ++ class in your .h using your callback methods, implementing the C ++ interface. This class also saves the delegate of your objC class.
.m @end ++. objC
.h
@interface YourObjcClass {
#ifdef __cplusplus
class FooObserver : public YourNS::Interface {
public:
virtual ~FooObserver() {
}
YourObjcClass *delegate;
};
YourNS::YourCallbackClass *myCallbackClass;
#endif
.m
#ifdef __cplusplus
void FooObserver::callback( args ) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
[delegate performSelectorOnMainThread:@selector(performCallback)
withObject:nil
waitUntilDone:false];
[pool release];
}
#endif