retain
在单例上使用有什么意义吗?我相信使用单例模式的全部意义在于保持一个全局对象可以从各种类中访问。retain
在这样的对象上使用什么情况?
通常,retain
单例类中的实现返回self
(不是单例实例),如下所示:
-(id)retain
{
return self;
}
最近浏览了一些开源代码,作者反复保留单例
object = [[SingletonClass shareObject] retain]
并在dealloc
.
因此,当我尝试构建这个项目时,它首先工作,然后当它试图访问单例对象上的变量时崩溃。
如果我保留一个单例对象并尝试访问它,究竟会发生什么?