1

如上所述,但要小心,我只对 Objective-C 上下文感兴趣,因此没有必要指出单例相对于静态方法的优势。

4

2 回答 2

5

我什么也不说。单例通常被认为是不好的做法,这也适用于 Obejctive-C。可能使单例比类方法更好的解决方案是单例是可以访问实例变量的适当实例,因此如果需要类将数据存储在 ivars 中,单例可以是一种解决方案。(但是,即使实现单例也经常需要使用静态全局或局部变量——所以严格来说,你不能完全避免它们,最多可以将它们的数量减少到一个。)

于 2013-02-04T21:47:32.623 回答
2

一个显着的优势是 Objective-C 中的类方法不能保存任何数据(除非在方法中声明为静态)。而对于单例,您可以访问单实例的所有数据

于 2013-02-04T21:47:06.673 回答