我需要我的应用程序的一个ViewController是一个单例。我正在使用故事板。
我使用了这段代码:
- (id)init
{
if (self = [super init]) {
}
return self;
}
static id s_singleton = nil;
+ (id) alloc {
if(s_singleton != nil)
return s_singleton;
return [super alloc];
}
- (id) initWithCoder:(NSCoder *)aDecoder {
if(s_singleton != nil)
return s_singleton;
self = [super initWithCoder:aDecoder];
if(self) {
s_singleton = self;
}
return self;
也许它不是线程安全的,因为它创建了两个不同的类实例... 我该如何解决这个问题?