Closed krasnodar95 closed 7 years ago
@krasnodar95 спасибо за вопрос! В общем виде DDM - это класс, реализующий два протокола, UITableViewDataSource
и UITableViewDelegate
. Есть два варианта его устройства:
NITableViewModel
при использовании Nimbus).-(NSInteger) countOfObjects;
-(id)objectByIndex: (NSInteger *)index;
И так до интерактора?
@krasnodar95 в этом случае под viewmodel понимаем обычные DTO, которые доставляют до ячеек данные, нужные им для отображения - так что MVVM здесь не при чем. В простых случаях DDM сам преобразует модели во view model'и, в более сложных - логика выносится в отдельный cellObjectFactory. Во втором случае да - но семантика методов меняется в зависимости от конкретного слоя. Плюс в некоторых случаях цепочка может заканчиваться на презентере, который держит промежуточный стейт (к примеру, текущее количество элементов таблицы).
@etolstoy Спасибо! Стало гораздо понятнее) В книге было бы неплохо уделить внимание этому вопросу. У нас ведь почти везде коллекции и таблицы)
Недавно прочитал вашу книжку по Viper. Огромное спасибо за проделанную работу. У меня вопрос связанный с DataDisplayManager. В книжке эта тема затронута вскользь. Судя по схеме в главе "Структура viper-модуля", DDM должен быть связан только со View. У меня вопрос как тогда нужно подкидывать в него данные для отображения(я так понимаю что это те самые PONSO-объекты)? Нужно ли эти данные хранить в DDM? Хотелось бы увидеть более развернутое объяснение. Спасибо:)