你如何在swift中创建一个静态类?

时间:2014-10-20 18:49:22

标签: ios swift

我想在swift中创建一个static类,这可能吗?如果是这样的话?

我试过了:

static class MyClass

但得到错误Declaration cannot be marked 'static'

2 个答案:

答案 0 :(得分:3)

没有静态类,但只能通过添加静态方法来创建静态类。

问题是(截至今天)类不能具有静态属性,因此您有两个选项:

  • 使用结构而不是类,将其所有方法和属性定义为静态
  • 使用单例模式

第二种选择在我看来是一个更好的解决方案,除非你有特殊的理由不想要它。

答案 1 :(得分:1)

static表示没有实例,所以我会把它作为一个没有初始化器的结构:

struct MyStruct {
    @available(*, unavailable) private init() {}

    static var foo = "foo"

    static func doSomething(a: String) -> String {
        return a + foo
    }
}