【发布时间】:2012-01-19 22:07:37
【问题描述】:
我已经设置了一个 Singleton(在 StackOverflow 的帮助下) 但是当我尝试修改/访问数组“listOfHeadings”时,似乎没有任何变化。 我没有收到来自编译器或运行时的错误或警告。
我的 GlobalData.h 中有这个:
#import <Foundation/Foundation.h>
@interface GlobalData : NSObject {
NSMutableArray *listOfHeadings;
}
@property(nonatomic,retain)NSMutableArray *listOfHeadings;
+(GlobalData*)getInstance;
@end
这是我的 GlobalData.m:
#import "GlobalData.h"
@implementation GlobalData
@synthesize listOfHeadings;
static GlobalData *instance;
+(GlobalData *)getInstance{
@synchronized(self){
if(!instance){
instance= [[GlobalData alloc] init];
instance.listOfHeadings=[[NSMutableArray alloc]init]; //EDIT: This line added to resolve problem
}
}
return instance;
}
@end
我在 AppDelegate.m 中访问单例:
#import "GlobalData.h"
...inside didFinishLaunchingWithOptions...
GlobalData *globDat=[GlobalData getInstance];
[globDat.listOfHeadings addObject:@"Message Settings"];
NSLog(@"appdel m array test %i",[globDat.listOfHeadings count]); // prints 0!
很明显我做错了什么 - 有人可以帮助指出我的错误吗? 谢谢。
【问题讨论】:
标签: iphone objective-c xcode