Le singleton est très utilisé en Objective-C afin d’accéder à un objet partagé.
Seulement, cela peut-être fastidieux à intégrer.
Pour éviter le code à rallonge, voici un fichier qui pourra vous être utile.
Son usage est relativement simple.
MySingleton.h
#import <Foundation/Foundation.h> #import "KSSingleton.h" @interface MySingleton : NSObject { NSInteger integerValue; } @property (assign) NSInteger integerValue; KS_SINGLETON_INTERFACE(MySingleton) @end
MySingleton.m
#import "MySingleton.h" @interface MySingleton (hidden) - (void)initialization; @end @implementation MySingleton (hidden) - (void)initialization { integerValue = 12; } @end @implementation MySingleton @synthesize integerValue; KS_SINGLETON_IMPLEMENTATION(MySingleton) @end
Notez que l’implémentation de - (void)initialization; est facultative. Elle peut cependant être utile à l’initialisation du singleton.
Ensuite, l’utilisation dans le code se fait ainsi :
MySingleton *s = [MySingleton sharedSingleton];
L’appel au singleton se fait toujours via [MaClasse sharedMaClasse].
Vous pouvez utiliser cette fonctionnalité à titre personnel et/ou professionnel, du moment que vous conservez son en-tête intacte.
Vous pouvez également télécharger le Projet d’exemple ici.


