2014-10-20 82 views
1

我想在swift中創建一個static類,這可能嗎?如果是這樣如何?你如何快速創建一個靜態類?

我想:

static class MyClass 

,但得到的錯誤Declaration cannot be marked 'static'

+3

什麼是你心目中的「靜態」類?如果你想要一個單例,你可以在模塊局部變量中創建一個實例: let myClass = MyClass() – 2014-10-20 19:11:15

回答

3

有沒有靜態類,但你可以通過僅僅只有添加靜態方法使一個。

的問題是,(今天的)類不能有靜態屬性,讓你有2種選擇:

  • 使用,而不是一個類結構,定義所有的方法和屬性爲靜態
  • 使用單身模式

第二個選項在我看來是一個更好的解決方案,除非你有特定的理由不想要它。

1

static意味着沒有實例,所以我想使它成爲一個結構沒有初始化:

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

    static var foo = "foo" 

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