没看懂一个问题,我测试了下面两种方法创建子类实例,结果运行良好。比如SingletonSon:Singleton,子类不做任何修改,当调用[SingletonSon sharedInstance]或[SingletonSon alloc]返回的实例是SingletonSon而不是Singleton。结果与书中原文内容相反,原文中说:如果不修改子类Singleton,总是返回一个Singleton的实例。
+(Singleton *) sharedInstance
{
if(sharedSingleton==nil)
{
sharedSingleton=[[super allocWithZone:NULL] init];
}
return sharedSingleton;
}
+(Singleton *) sharedInstance
{
if(sharedSingleton==nil)
{
sharedSingleton=[NSAllocateObject([self class],0,NULL) init];
}
return sharedSingleton;
}
我是一名中国学生,我的英语不是很好,望见谅。期待您的回答。