在开发过程中,我们经常会遇到需要定义一些静态方法的需求。通常我们会想到用 class 和 struct 去定义,然而却忽略了 enum 也可以拥有静态方法。那么问题来了:既然三者都可以定义静态方法,那么我们应该如何选择?
下面直接给出答案:
- class:
class是引用类型,支持继承。如果你需要这两个特性,那么选择class。 - struct:
struct是值类型,不支持继承。如果你需要值类型,并且某些时候需要这个类型的实例,那么用struct。 - enum:
enum也是值类型,一般用来定义一组相关的值。如果我们想要的静态方法是一系列的工具,不需要任何的实例化和继承,那么用enum最合适。
另外,其实这个规则也适用于静态变量。
想及时看到我的新文章的,可以关注我。同时也欢迎加入我管理的Swift开发群:536353151。