要想自定义出来的类,创造出来的对象是单例.
首先你得知道什么是GCD, 因为oc中的自定义单例实现方法需要 GCD的一次性方法.
其实原理一句话就能说清楚就是, 创建队列,将任务丢到队列中去. 搞定收工.
一般我们 需要实现两个方法, 一个是 模仿苹果官方的shared方法, 一个是allocWithZone的方法.
后者可以让init方法创造出来的也是单例, 其实实现了后者,这个类不挂用什么方法创造出来的对象,都是单例了. 因为allocWithZone方法是对象创建终极调用方法
也就是说不管你用哪个方法创建对象, 最后都是要调用 allocWithZone, 方法.
好了,代码我已经写好了,如下.