Создание пользовательского класса и добавление в мой viewcontroller из storyboad? - PullRequest
1 голос
/ 07 июля 2019

Я просто копирую коды из старого проекта.Я нашел что-то странное и не знаю, как это сделать.Я просто хочу создать " Chart View Model ", как показано ниже.Мне тоже нужна розетка тоже.enter image description here

enter image description here

Существует также соответствующий класс.

class ChartModel: NSObject {
  // ..... 
}

Все, что я хочу знать, - это цель использования модели в рассказчиках и как это сделать.

1 Ответ

1 голос
/ 07 июля 2019

Вы когда-нибудь устанавливали распознаватель жестов на сцену раскадровки? Это точно параллельно. Загрузка пера создает экземпляр распознавателя жестов и присоединяет его к представлению, так что вам не нужно делать это в коде. Вот что здесь происходит.

Любой подкласс NSObject может быть создан как объект nib. Найдите объект в библиотеке:

enter image description here

Перетащите его из библиотеки прямо на сцену; выберите его и измените его класс в инспекторе удостоверений на нужный класс (ChartModel).

Теперь вы столкнулись с проблемой того, что произойдет с этим экземпляром, когда он будет создан во время загрузки пера. На iOS это исчезнет в клубе дыма, если кто-то еще не сохранит это. Обычное решение состоит в том, что у вас есть какой-то другой перо с выходом на этот объект. Теперь, когда загрузка пера выполняется, объект создается и присваивается соответствующему свойству в другом объекте пера. Вот что делает ваша розетка:

@IBOutlet var chartViewModel : ChartModel!

Хорошо, но пока, это в точности соответствует высказыванию

var chartViewModel = ChartModel()

Просто вместо того, чтобы создавать экземпляр ChartModel в коде, мы создаем его путем загрузки пера.

Так зачем это вообще? Зачем создавать экземпляры этой ChartModel из пера, а не из кода? Это имеет смысл, только если сама ChartModel имеет розетки, которые можно настроить в кончике. Вы не показали нам это (вы только показали первую строку объявления class ChartModel), поэтому невозможно сказать больше о том, какова была настоящая цель в этом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...