我想得到一些幫助,以理清我已經實現了一個NSMutableArray單例的代碼。NSMutable單身問題
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]);
控制檯將顯示計數3和1
我想[prodInstance的getArray]將是相同tmpArray 。
謝謝
感謝您的快速回答。 – user643097 2011-04-06 01:46:31