针对不同数据的两个集合视图还是一个?

时间:2018-01-28 01:10:49

标签: swift xcode uicollectionview

我目前正在使用单个集合视图在新闻Feed上显示用户数据。目前,我使用单个集合视图来呈现数据,并为两个不同的视图提供两个数据源。我使用类变量使用分段控件(如...

)在两个数据源之间切换
@IBAction func segmentSelected(_ sender: Any) {
    switch segmentedControl.selectedSegmentIndex {
    case 0:
        userSchool = false
        following = true
        collectionView.reloadData()
        break

    case 1:
        userSchool = true
        following = false
        collectionView.reloadData()
        break

    default:
        break
    }
}

我有一个" if"我的集合中的语句查看正确更改数据的存根。我的问题是,如果我使用两个不同的集合视图并相应地调整代码,或继续使用一个,那么性能会更好吗?谢谢!

1 个答案:

答案 0 :(得分:0)

从架构的角度来看,我必须说一个视图,只要数据源是代表两个不同数据集的两个不同对象。性能方面,UITableView经过优化,可以重用单元格并在内存中保留当前在屏幕上可见的内容(加上一些缓冲区),在正常情况下,它永远不会向数据源查询不在可见矩形中的元素。

我认为在我看来,一种观点是表现明智的,在建筑上是最佳选择。

注意:当我说2个不同的数据源时,我的意思是表示第一组数据和第二组数据的两个不同对象的2个实例。所以我希望在两种情况下都可以在switch语句中collectionView.dataSource = ...