单身人士在Objective-c语境中有什么意义吗?

时间:2011-05-19 08:24:08

标签: objective-c singleton

我来自java / cpp环境,其中单例确实比类(静态)方法更有优势,但是在objective-c中因为它的动态特性,从我过去的观察来看,在类中使用单例实际上没有任何优势方法。有人可以证实这一点,或者举例说明一个单例可以做一些类方法无法做到的事情(但除了单例实际上是'多重'的情况)

编辑:我知道单身人士和班级方法是什么,这不是概念问题,更像是:一个类方法可以完全取代objective-c中的单例,使单例实现变得无用吗?

1 个答案:

答案 0 :(得分:1)

在Objective-C中使用单身人士。在Cocoa框架中,NSApplication,NSDocumentController和NSWorkspace是单例的例子。

在类方法中使用单例的优点是可以通过创建子类来更改单例的行为。这有点罕见,但有些应用程序确实创建了NSDocumentController或NSApplication的子类。 (例如,您可能希望覆盖NSDocument -documentClassForType:方法)。