在 Swift 中定义静态方法,class / struct / enum 三者如何选择?

1,417 阅读1分钟

在开发过程中,我们经常会遇到需要定义一些静态方法的需求。通常我们会想到用 classstruct 去定义,然而却忽略了 enum 也可以拥有静态方法。那么问题来了:既然三者都可以定义静态方法,那么我们应该如何选择?

下面直接给出答案:

  • classclass 是引用类型,支持继承。如果你需要这两个特性,那么选择 class
  • structstruct 是值类型,不支持继承。如果你需要值类型,并且某些时候需要这个类型的实例,那么用 struct
  • enumenum 也是值类型,一般用来定义一组相关的值。如果我们想要的静态方法是一系列的工具,不需要任何的实例化和继承,那么用 enum 最合适。

另外,其实这个规则也适用于静态变量

想及时看到我的新文章的,可以关注我。同时也欢迎加入我管理的Swift开发群:536353151