У меня есть требование для динамического создания элементов управления во время выполнения на основе конфигурации, полученной с сервера. Я также пытаюсь использовать шаблон MVVM.iOS - Динамическое создание элементов управления в MVVM
Чтобы упростить пример, предположим, что я должен создать N
количество UILabels
в View
, каждый со своими настройками (цвет, шрифт и т.д.) все на основе конфигурации с сервера.
Первое, что приходит на ум, это иметь listUILabels
свойство в моем ViewModel
, и имеют ViewModel
нести ответственность за создание UILabel
объектов и настройки их атрибутов/свойств (цвет, шрифт и т.д.).
View
затем итерацию по каждому UILabel
в viewModel.listUILabels
добавляя каждый из них с помощью self.view.addSubview()
Однако я прочитал в некоторых примерах, что ViewModel
не должны ссылаться на UIKit
, вместо того, чтобы просто должны предоставить данные, свойства & перечислений для View
(не стесняйтесь прокомментировать это).
Чтобы придерживаться правил MVVM, как я должен разделять мою логику, что происходит внутри представления и что происходит внутри ViewModel
в этом случае?