Есть такой код:
class FirstViewController: UIViewController, someDelegate{
...
let storyboard = UIStoryboard(name: "SecondStoryboard", bundle: nil)
let someProperty = sb.instantiateInitialViewController() as! SecondViewController
someProperty.delegate = self
...
}
Подскажите, пожалуйста, что происходит в этой строке кода:
let someProperty = sb.instantiateInitialViewController() as! SecondViewController
Просьба вынести за скобки тему нахождения другой Storyboard, нахождения её instantiateInitialViewController() и его кастинга до SecondViewController. Это все понятно, вопрос в другом. Если предположим представить эту же строку упрощенно, то она может выглядеть так:
let someProperty = … SecondViewController
Если говорить о базовых операциях, то какая из них здесь осуществляется?
- Это непохоже на создание экземпляра объекта, потому что при создании экземпляра у типа объекта должны быть круглые скобки, плюс иногда инициализатор(ы).
- Является ли это копированием объекта, класса SecondViewController в константу someProperty?
- Можно ли сказать, что в данном случае объект, класс SecondViewController присваивается в константу?
Или это еще какая-то операция?
Т.е., смысл вопроса в том, что каким образом эта константа получает доступ к классу SecondViewController и может выполнять действия по изменению значений свойств в этом классе?