Я пытаюсь понять, что происходит на более низком уровне, когда мы создаем первый экземпляр объекта Singleton в собственном объявлении класса Singleton.
Насколько я понимаю, ключевое слово static
позволяет использовать помеченное свойство или метод для всех экземпляров класса, и я уверен, что здесь есть роль, которую я не вижу полностью.
Кроме того, как это работает, когда мы рассматриваем создание экземпляра во время компиляции / выполнения?
Вот пример объявления класса Singleton:
class Person {
static let details = Person()
var name = "Alan Turing"
let age = "42"
}
Я понимаю, что класс и его свойства будут созданы только один раз, и что любая ссылка на объект класса будет указывать на ту же точку в памяти. Моя путаница связана именно с тем, почему мы создаем первый экземпляр Синглтона внутри себя.