我有一个Parent类和一个类Child。孩子来自父母。我只实例化Child类,但父类不会直接初始化,只能由子类初始化。 我至少需要父母是一个单身人士。如果这不起作用,孩子也是单身人士也可以。 我尝试以下,但没有将其更改为单:Objective C具有类层次结构的单身人士
static MySingleton *sharedSingleton;
+ (void)initialize
{
static BOOL initialized = NO;
if(!initialized)
{
initialized = YES;
sharedSingleton = [[MySingleton alloc] init];
}
}
子类中调用[超级的init]实例化父。你能帮我吗?
编辑:我为我的解决方案(体系结构)添加一些背景信息:我有一个Web服务客户端,它具有到Web服务的连接。我有一个基类(Parent),它具有关于连接的信息(经过身份验证,如何连接等),并且具有不同的从此基类派生的子类。对不同子类的需求是,一个孩子负责一组Web服务逻辑,另一个孩子负责另一组Web服务逻辑。问题是,我想连接信息是单身人士(因为他们都只使用一个连接,而不是很多)。
'initialized'变量是多余的,为什么不检查if(sharedSingleton == nil)'? – 2012-11-09 17:12:58
也许你可以简单地解释你想达到的目标,因为父母是一个单身人士,而从它身上衍生出来的孩子对我来说看起来并不麻烦。也许有更好的解决方案? – Anton