Tengo un Singleton configurado de esta manera:Usar Singleton In Interface Builder?
static Universe *instance;
+ (Universe *)instance { return instance; }
+ (void)initialize
{
static BOOL initialized = NO;
if(!initialized)
{
initialized = YES;
instance = [[Universe alloc] init];
}
}
- (id) init
{
self = [super init];
if (self != nil) {
self.showHistory = YES;
}
return self;
}
pero ahora me doy cuenta de que me gustaría crear una instancia de Interface Builder. Estaba pensando en el corte justo en el método init
al igual que
if (instance)
return instance;
se trata de una mala idea? Preferiría que IB recoja la instancia ya creada en el método +initialize
.
Esto es lo que hice para implementar un versión de complemento de algún código de cliente de red que originalmente estaba en una aplicación Cocoa. Un compañero de trabajo lo quería en un complemento, así que tomé la ruta singleton, por lo que solo habría una instancia real del cliente de red (internamente). – ExitToShell
@invariant, gran respuesta del tipo que me alegra haber hecho la pregunta y no solo la descarté como tonta. –
'+ alloc' debe devolver' [[self instance] retain] ', porque' alloc' devuelve un objeto propiedad. –