2014-10-20 3 views
1

Я хочу создать класс static в swift, возможно ли это? Если да, то как?Как сделать статический класс быстрым?

Я пробовал:

static class MyClass 

но получаю ошибку Declaration cannot be marked 'static'

+3

что такое «статический» класс в своем уме? Если вам нужен синглтон, вы можете просто создать экземпляр в локальной локальной переменной: let myClass = MyClass() –

ответ

3

Там нет статического класса, но вы можете сделать один раз добавлять только статические методы.

Проблема заключается в том, что (как сегодня) классы не могут иметь статические свойства, так что у вас есть 2 варианта:

  • использовать на структуру вместо класса, определяя все его методы и свойства как статические
  • используйте одноэлементный образец

Второй вариант, на мой взгляд, лучшее решение, если у вас нет особых причин не хотеть его.

1

static означает не экземпляр, поэтому я хотел бы сделать это на структуру, не инициализаторе:

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

    static var foo = "foo" 

    static func doSomething(a: String) -> String { 
     return a + foo 
    } 
} 
Смежные вопросы