Xcode 在多个nib文件之间共享singleton NSController
如何在多个nib文件之间共享singletonXcode 在多个nib文件之间共享singleton NSController,xcode,macos,cocoa,Xcode,Macos,Cocoa,如何在多个nib文件之间共享singletonNSController?与Xcode提供的“共享用户默认控制器”类似?这是我在这种情况下使用的代码: @implementation MySingletonClass static MySingletonClass* instance = 0; - (id) init { if ( instance ) return instance; return ( instance = self = [su
NSController
?与Xcode提供的“共享用户默认控制器”类似?这是我在这种情况下使用的代码:
@implementation MySingletonClass
static MySingletonClass* instance = 0;
- (id) init {
if ( instance )
return instance;
return ( instance = self = [super init] );
}
+ (MySingletonClass*) shared {
static dispatch_once_t pred;
dispatch_once(&pred, ^{
instance = [[MySingletonClass alloc] init];
});
return instance;
}
@end
绝对。。。只要你的单例类得到了正确的实现。只需将其添加到每个nib中。您所说的“正确实现”是什么意思?似乎我的nib文件跳过了我的
sharedXyzController()
方法,每个nib文件调用init
一次。仅供参考,我将一个NSObject
拖到每个nib文件中,并将其类设置为MyXyzController
。我的意思是,“正确实现的”单例实际上不会让您分配多个实例。并且init
和类似的方法(copy等)返回共享实例。