Вы правы в отношении порядка вызова этих функций. Но только init(size:)
фактически создает сцену.
init (size:) инициализирует новый объект сцены с помощьюучитывая CGSize
в качестве своих границ.Все, что должно быть установлено до того, как сцена станет видимой, должно произойти здесь.Это важный бит, потому что вновь инициализированная сцена не видна пользователю, пока она не будет представлена представлением.
sceneDidLoad () вызывается в результате init(size:)
и может бытьиспользуется для дополнительной настройки, необходимой перед представлением сцены.init(size:)
можно вызывать из любой точки, где вы хотите создать новую сцену, но sceneDidLoad()
происходит в самой сцене.Это полезно для любой настройки, которую вы хотите использовать во всех сценах этого класса.
didMove (to:) отличается тем, что не имеет отношения к инициализации.Эта функция вызывается, когда сцена представлена представлением.В основном, когда это становится видимым для пользователя.Настройки пользовательского интерфейса и расположение элементов внутри сцены обычно обрабатываются здесь.