Wie Objective-C Warnung „unvollständige Umsetzung der Klasse‚Someclass‘“ zu unterdrücken?
-
27-09-2019 - |
Frage
ich eine Klasse, die viele Nachrichten in innere Komponenteninstanz Routing. So hat die Klasse nur Methodendefinition, aber keine Implementierung. Wie kann ich diese Warnungen für diese dynamischen Methoden unterdrücken?
Aktualisieren
My Codebeispiel:
@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
Lösung
Ich denke, eine Protokoll-Implementierung wie diese
aussehen könnte@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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow