例如,即使UIApplication类使您可以访问UIApplication单例,但为什么Apple也不将其类作为纯单例呢?
UIApplication *sharedApplication = [UIApplication sharedApplication];
没有什么可以阻止您显式实例化UIApplication实例,例如:
UIApplication *newApplication = [[UIApplication alloc] init];
但是,结果是运行时异常。该异常清楚地表明,任何时候UIApplication类的一个实例都只能处于活动状态。
那么,为什么不通过在默认初始化器中返回相同的实例来获得纯单例呢?
我要求这个问题在我的项目上创建单例时要弄清楚,以遵循哪种方法更好。