单细胞还是多细胞?

Single cell or multiple cells?

我正在做一个 iOS 项目,用 Swift 写作。这是一个社交网络应用程序,人们可以在其中拥有个人资料,并且可以 post 不同类型的内容。 posts/content应该有9种:

我的问题是关于如何在 Feed 上显示它。提要显然是某种类型的集合(我想我会坚持使用 UICollectionView)但是我应该创建一种类型的单元格,添加我可能需要的每个元素来显示每种类型的嵌入内容进入 UIStackView,如果它是对象的数据库请求 returns nil(即特定的 post 没有视频或音频、民意调查等 - 所有它只包含一些图像)然后我将从单元格中隐藏那些 UIStackViews 或者我应该创建一个单独类型的单元格及其 xib 文件,具体取决于内容类型?

我觉得后者会更容易,但我不知道该怎么做?意思是,我应该如何检查它是什么类型的内容?想象一下像 Twitter 这样的东西,例如,你看到许多不同类型的内容,你应该如何处理单元格的创建和显示它们?

PS:请记住,用户应该能够根据内容类型过滤他们的内容(即仅显示图像、仅文本、仅音频等)。我应该如何处理这个问题?

恕我直言,最好为每种内容类型创建单独的单元格并根据需要在其中操作视图。这是更清晰、更简单的解决方案。

更好的选择是为不同的 posts/content 创建不同的单元格,并使用模型 类 variable/enum 来了解内容的类型。它很容易过滤和管理所有类型的帖子。