Сохранение внутреннего состояния и присоединение сложной дочерней иерархии к UITableViewCell - PullRequest
0 голосов
/ 26 мая 2020

Я разрабатываю UIViewController расширение UITableViewDataSource и UITableViewDelegate, где один из UITableViewCell должен быть очень сложным, подумайте об экране вызова приложения Facetime, где первая ячейка - это экран телефона. он сам, в то время как другие ячейки являются информацией для пользователя.

Организация этого кода немного "странная" просто потому, что я прошу UITableViewCell функционировать как UIViewController со своим собственным внутренним состояния, и, возможно, очень сложная иерархия подвидов. Фактически, первый UITableViewCell может содержать своего рода коллекционное представление.

Прежде чем писать какой-либо код, я хотел бы знать, является ли это явным антипаттерном. Если да, то как лучше это спроектировать? Имейте в виду, что я не знаю, сколько элементов будет передано в родительском табличном представлении.

1 Ответ

1 голос
/ 26 мая 2020

Это довольно частый вариант использования приложений, над которыми я работал. Наиболее распространенный вариант использования - TableViewCell, содержащий контроллер CollectionView для горизонтальной прокрутки каруселей в списке. (Подобно Netflix, приложениям AppStore.)

Одна важная вещь, которую следует учитывать, - насколько легко / выполнимо восстановить состояние TableViewCell и его содержимое во время утилизации. Это может быть сложно, если TableViewCell содержит, например, проигрыватель потокового видео.

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