Question

I have a class which is routing many messages into inner component instance. So the class have only method definition, but no implementation. How can I suppress these warnings for those dynamic methods?

Update

My code sample:

@interface SomeClass : NSObject
{
}
- (void)mssageA:(id)value1 additionalOption:(id)value2;
- (void)mssageB:(id)value1 additionalOption:(id)value2;
- (void)mssageC:(id)value1 additionalOption:(id)value2;
@end
@implementation SomeClass
- (id)forwardingTargetForSelector:(SEL)aSelector
{
    if(aSelector==@selector(mssageA:additionalOption:))     return  innerComponentInstance;
    if(aSelector==@selector(mssageB:additionalOption:))     return  innerComponentInstance;
    if(aSelector==@selector(mssageC:additionalOption:))     return  innerComponentInstance;

    return  [super forwardingTargetForSelector:aSelector];
}
@end
Was it helpful?

Solution

I think a protocol implementation could look like this

@protocol SomeProtocol 

@optional
- (void)mssageA:(id)value1 additionalOption:(id)value2;
- (void)mssageB:(id)value1 additionalOption:(id)value2;
- (void)mssageC:(id)value1 additionalOption:(id)value2;
@end

@interface SomeClass : NSObject <SomeProtocol>
{
}

@implementation SomeClass
- (id)forwardingTargetForSelector:(SEL)aSelector
{
    if(aSelector==@selector(mssageA:additionalOption:))     return  innerComponentInstance;
    if(aSelector==@selector(mssageB:additionalOption:))     return  innerComponentInstance;
    if(aSelector==@selector(mssageC:additionalOption:))     return  innerComponentInstance;

    return  [super forwardingTargetForSelector:aSelector];
}
@end
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top