Когда вы создаете экземпляр объекта, операционная система должна знать, как распределять и обрабатывать объекты такого типа в памяти: это ссылочный тип (классы)?Сильная, слабая или неподтвержденная ссылка?Или это тип значения (Structs, Strings, Int и т. Д.)?
Типы ссылок хранятся в куче, а типы значений - в стеке. Здесь является подробным объяснением различий между ними.
Могут быть созданы только типы-объекты Reference и Value (объекты).Таким образом, могут быть созданы только объекты, которые соответствуют этому протоколу, а не сам протокол.Протокол - это не объект, это общее описание или схема определенного поведения объектов.
Что касается инициализации, то, что Apple docs говорит:
Инициализация - это процесс подготовки экземпляра класса, структуры или перечисления к использованию.Этот процесс включает установку начального значения для каждого сохраненного свойства в этом экземпляре и выполнение любых других настроек или инициализации, которые требуются до того, как новый экземпляр будет готов к использованию.