单细胞还是多细胞?

时间:2017-11-13 10:26:34

标签: ios swift uicollectionview uicollectionviewcell

我正在开发一个iOS项目,用Swift编写。它是一个社交网络应用,人们可以在其中发布个人资料,并且可以发布不同类型的内容。应该有9种类型的帖子/内容:

  • 正常(仅文字)帖子
  • 图片发布
  • Gif post
  • 视频帖子
  • 音频帖子
  • 引用帖子
  • 聊天帖子
  • 民意调查
  • 链接帖子

我的问题与如何在Feed上显示有关。显然,feed会是某种类型的集合(我想我会坚持UICollectionView)但是我应该创建一种类型的单元格,添加我可能需要显示每种类型的单元格内容嵌入到UIStackView中,如果数据库请求返回nil对象(即该特定帖子没有视频或音频,民意调查等等 - 全部它包含的只是一些图像)然后我会从单元格隐藏那些UIStackViews或者我应该根据内容类型创建单独类型的单元格及其xib文件?

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

PS:请记住,用户应该能够根据内容类型过滤内容(即仅显示图像,仅显示文本,仅显示音频等)。我该怎么做呢?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

更好的选择是为不同的帖子/内容创建不同的单元格,并使用模型类变量/枚举来知道它是哪种类型的内容。它易于过滤和管理所有类型的帖子。