mar 27

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.

KSSingleton.h

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.

  • Share/Bookmark

Répondre