Почему в предлагаемой одноэлементной реализации Swift используется структура?

общепринятый шаблон Синглтона для Swift использует Struct внутри переменной класса / свойства типа.

Вместо:

class MySingleton {
  class var sharedInstance: MySingleton {
    struct Singleton {
      static let instance = MySingleton()
    }
    return Singleton.instance
  }
}

Почему мы не просто делаем:

class MySingleton {
  class var sharedInstance: MySingleton {
      let instance = MySingleton()
      return instance
  }
}

Извиняюсь, если это очень глупый вопрос. Но не используйте как потокобезопасность констант, так иlet?

Ответы на вопрос(2)

Ваш ответ на вопрос