Objective-C du protocole de méthode statique?
J'ai un protocole en Objective-C, quelque chose comme ceci:
@protocol Handler
+(NSString*) getValue;
@end
Donc maintenant dire que j'ai une instance qui hérite de ce protocole et je veux appeler cette méthode:
[handlerInstance getValue];
Cela donne un avertissement parce que la getValue
méthode n'est pas une méthode d'instance. Comment puis-je l'appeler correctement cette méthode à partir de mon exemple? (Sans savoir que le béton de classe)? Je devine que quelque chose comme cela, mais je ne suis pas exactement sûr:
[[handlerInstance class] getValue];
Vous devez vous connecter pour publier un commentaire.
Oui, comme ça.
Contrairement à Java et C++, les méthodes de la classe ne peut être envoyé à la classe.
id<Handler> handler
puis-je attribuerinstance
ou[instance class]
? Ce travail, même sans une instance disponible? (Seulement unClass
)?Class cls
, puis faire[cls getValue]
. Notez que cette méthode n'exécutera pas sihandler == nil
.