2010-10-17 6 views
5

Quelqu'un sait comment déclarer une méthode statique pour une classe xcode et l'utiliser ensuite dans mon projet?xCode/déclaration de méthodes statiques dans la classe

Je veux créer une classe common.h puis faire quelque chose comme ça dans l'un des fichiers .m

Common.MyStaticMethod();

Je ne veux pas avoir à instancier et instance de Common

Répondre

19

Vous déclarerez une méthode de niveau de classe en Objective-C en utilisant « + » avant la déclaration de la méthode.

 
// in Common.h 
+ (void)myStaticMethod; 

// call is from anywhere 
[Common myStaticMethod] 

C'est un « - » avant la déclaration de méthode signifie les méthodes d'instance et « + » signifie méthode de niveau de classe qui ne sont pas liées à une instance particulière de la classe.

+1

Les méthodes de classe ne sont pas statiques en Objective-C; ils sont résolus dynamiquement comme les méthodes d'instance. L'équivalent Objective-C d'une méthode statique est une fonction C plutôt qu'une méthode de classe. – jlehr

+1

Ya, la classe est aussi un objet dans obj-c. C'est pourquoi dans ma réponse, je les ai spécifiés comme méthode de classe, pas comme méthode statique. Je suppose que c'est ce que veut Vilasack. – taskinoor

Questions connexes