Je voudrais obtenir de l'aide pour trier le code que j'ai mis en place pour implémenter un singleton NSMutableArray.NSMutable singleton question
fichier .H
@interface MySingleton : NSObject {
NSMutableArray *globalArray;
}
+ (MySingleton *)instance;
- (NSMutableArray *) getArray;
- (void) addArray:(NSObject *)arrayToAdd;
- (id) init;
.m file
@implementation MySingleton
- (id) init
{
self = [super init];
globalArray = [[NSMutableArray alloc] init];
return self;
}
+ (MySingleton *)instance {
static MySingleton *instance;
@synchronized(self) {
if(!instance) {
instance = [[MySingleton alloc] init];
}
}
return instance;
}
- (NSMutableArray *) getArray{
return globalArray;
}
- (void) addArray:(NSMutableArray *)arrayToAdd
{
[globalArray addObject:arrayToAdd];
}
someviewcontroller.m
MySingleton *prodInstance = [MySingleton instance];
[prodInstance addArray:tmpArray];
NSLog(@"cnt tmpArray %i",[tmpArray count]);
NSLog(@"cnt singleton %i",[[prodInstance getArray] count]);
La console affiche compte 3 et 1.
Je pensais que [prodInstance getArray] sera le même que le tmpArray .
Merci
Merci pour la réponse rapide. – user643097