Вы когда-нибудь устанавливали распознаватель жестов на сцену раскадровки? Это точно параллельно. Загрузка пера создает экземпляр распознавателя жестов и присоединяет его к представлению, так что вам не нужно делать это в коде. Вот что здесь происходит.
Любой подкласс NSObject может быть создан как объект nib. Найдите объект в библиотеке:
Перетащите его из библиотеки прямо на сцену; выберите его и измените его класс в инспекторе удостоверений на нужный класс (ChartModel).
Теперь вы столкнулись с проблемой того, что произойдет с этим экземпляром, когда он будет создан во время загрузки пера. На iOS это исчезнет в клубе дыма, если кто-то еще не сохранит это. Обычное решение состоит в том, что у вас есть какой-то другой перо с выходом на этот объект. Теперь, когда загрузка пера выполняется, объект создается и присваивается соответствующему свойству в другом объекте пера. Вот что делает ваша розетка:
@IBOutlet var chartViewModel : ChartModel!
Хорошо, но пока, это в точности соответствует высказыванию
var chartViewModel = ChartModel()
Просто вместо того, чтобы создавать экземпляр ChartModel в коде, мы создаем его путем загрузки пера.
Так зачем это вообще? Зачем создавать экземпляры этой ChartModel из пера, а не из кода? Это имеет смысл, только если сама ChartModel имеет розетки, которые можно настроить в кончике. Вы не показали нам это (вы только показали первую строку объявления class ChartModel
), поэтому невозможно сказать больше о том, какова была настоящая цель в этом случае.