Наличие ячейки, содержащей другую ячейку, не является стартером.Даже если бы вы могли взломать его вместе, был бы большой риск неожиданного поведения.
С учетом сказанного, есть несколько вариантов, которые я бы рассмотрел.
Если возможно, перейдите из одной секции в несколько строк макета в несколько разделов одной строки макета.Когда вам нужно иметь репосты, они могут быть дополнительными строками в разделе исходного сообщения.
Например, сообщение 1 - путь индекса (0, 0), сообщение 2 - путь индекса (1, 0)репост поста 2 - путь индекса (1, 1), пост 3 - путь индекса (2, 0)…
Он заблокирует вас в макете раздела, но вам не придется менять PostCell
.
Превратите PostCell
в PostView
, создав подкласс UIView
вместо UITableViewCell
.Иметь ячейку контейнера вида, которая может содержать 1 или более экземпляров PostView
.Это должен быть быстрый способ получить то, что вы просили, и все же дать вам некоторую гибкость в макете
Превратите PostCell
в PostViewController
.Имейте ячейку контейнера контроллера представления, которая может содержать Ваш контроллер представления представления.Это немного сложнее, но дает вам максимальную гибкость при создании макета.