Ho un protocollo in Objective-C, qualcosa di simile:Metodo statico del protocollo Objective-C?
@protocol Handler
+(NSString*) getValue;
@end
Così ora dire che ho un'istanza che eredita questo protocollo e voglio chiamare questo metodo:
[handlerInstance getValue];
Questo dà un avviso perché il metodo getValue
non è un metodo di istanza. Come posso chiamare correttamente questo metodo dalla mia istanza? (Senza conoscere la classe concreta)? Sto indovinando qualcosa di simile, ma non sono esattamente sicuro:
[[handlerInstance class] getValue];
Seriamente, immagino che non avrei dovuto pensarci un secondo! – Kyle
Non tutti noi. Provare prima di postare non dare agli altri il beneficio della conoscenza. Sono venuto qui alla ricerca di come questo si sarebbe comportato perché 1.) era più veloce di provarlo e 2.) se ci fossero insidie a cui non avevo pensato, qualcuno probabilmente le noterebbe qui. Pubblicare prima è quindi meno lavoro per tutti quelli che vengono dopo. Grazie Kenny e Zenox. – Warren
Quindi, se ho una variabile 'id handler', assegno' instance' o '[instance class]'? Funzionerà anche senza un'istanza disponibile? (Solo una 'Classe ')? –
chakrit