2010-11-26 10 views

Répondre

13

Utilisez +initialize de votre classe Méthode: (. Mise à jour pour ajouter if (self == [MyClass class]) conditionnelle, comme suggéré dans les commentaires)

@implementation MyClass 

static NSUInteger counter; 

+(void)initialize { 
    if (self == [MyClass class]) { 
     counter = 0; 
    } 
} 

@end 

+2

Plus vous pouvez vous assurer que le 'initialize' ne fonctionnera pas deux fois si la classe est sous-classée? – zoul

+1

Qu'est-ce qui ne va pas avec 'static NSUInteger counter = 0;'? Pas besoin de la méthode 'initialize' quand un initialiseur C standard fonctionnera. – JeremyP

+0

zoul - bon point! Éditera. –

Questions connexes