У меня есть UITableView, который всегда имеет 4 раздела. Первая секция всегда имеет 1 строку, вторая секция всегда имеет 3 строки. Тогда 3-я и 4-я секции могут иметь любое количество строк. Хотя первые два раздела являются по существу статическими ячейками, содержимое в них изменяется.UITableView с: Статические ячейки с динамическим содержимым и динамическими ячейками
Первые два раздела - все, с чего мне пришлось начинать, поэтому я просто использовал статические ячейки с выходами для контента непосредственно в TableViewController. Затем я добавил еще два раздела, которые могут иметь любое количество строк.
Я нашел, что для этого сейчас я должен рассматривать всю таблицу как использование динамических прототипов, и теперь я должен реализовать все классы делегата/источника данных для каждой ячейки. В дополнение к этому, я больше не могу иметь свои ролики (даже для первых 2 разделов) непосредственно в tableViewController, но вместо этого создавать собственные подклассы для них, чтобы я мог изменять их содержимое.
Это кажется глупым, потому что они настолько просты. Есть ли лучший способ сделать это? Может быть, у меня может быть два tableViews в TVC, один, который статичен и обрабатывается одинаково для статических ячеек, и тот, который использует динамические прототипы? Если это лучший способ, как мне это реализовать? Я никогда не реализовал TableViewController, прежде чем обрабатывать более 1 TableView.
Для справки View представляет собой профиль с простыми данными о профиле человека. Первые 2 раздела - это только изображение человека, имя, адрес электронной почты и описание.
Вторые 2 секции содержат 1) список привилегированных проводок в приложении. И 2) список сообщений, созданных пользователем.
Здесь 2 фотографии, показывающие вид:
Где «правильно» использовать динамические прототипы и создавать подклассы каждой отдельной ячейки? – mharris7190
Создание подклассов чрезвычайно прост и позволяет расширяемость и повторное использование. Так что да, если у вас есть пользовательская ячейка, вам нужен пользовательский класс. Очень просто добавить класс в свой класс viewController. –
Я знал, что создание подклассов ячеек было легким, но я никогда не понимал (или действительно думал об этом), я мог бы просто создать подкласс непосредственно внутри одного и того же диспетчера представлений. Это определенно очищает файловую систему от некоторых! Теперь, если в одной из ячеек есть кнопка, покажите, как действие должно выполняться внутри класса этой ячейки? – mharris7190