Accueil > Cocoa, Développement, Tutoriels > Données membres statiques en Objective-C

Données membres statiques en Objective-C

Objective-C ne permet pas de déclarer une donnée membre statique dans une classe via l’utilisation du mot-clé static, comme en Java par exemple. En fait, il suffit de déclarer une variable statique dans la section @implementation de la classe :

@implementation MyClass
// Déclaration d'une donnée membre STATIQUE
static NSDictionary* cacheMap;
...
@end

Pour initialiser cette variable, notamment s’il s’agit d’un objet, il suffit d’implémenter la méthode statique initialize de la classe concernée et d’y initialiser la donnée statique :

+ (void) initialize {
   cacheMap = [NSDisctionary dictionary];
}

Toutes les méthodes statiques de votre classe peuvent utiliser cette donnée statique : Cocoa se charge d’envoyer le message initialize à votre classe avant tout autre appel.

Attention : cette donnée statique ne sera pas visible dans les classes qui étendent votre classe.

CocoaDéveloppementTutoriels

  1. 10 février 2009 à 22:54 | #1

    Je viens de corriger l’article : il est préférable de déclarer la variable statique directement dans la section @implementation de la classe concernée (sinon Xcode génère des avertissements).

  1. Il n'y a pas encore de trackback.