Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用collectionView.reloadData后是否保留以前的单元格?_Ios_Swift_Cocoa Touch_Uicollectionview_Reload - Fatal编程技术网

Ios 使用collectionView.reloadData后是否保留以前的单元格?

Ios 使用collectionView.reloadData后是否保留以前的单元格?,ios,swift,cocoa-touch,uicollectionview,reload,Ios,Swift,Cocoa Touch,Uicollectionview,Reload,我在方法中有我的所有视图样式 override func viewWillAppear(_ animated: Bool) { displayDataForIndexPath() } 当我需要在我的ViewController中重新加载数据时,会调用该函数。我的ViewController有一个我需要刷新的CollectionView 我已将collectionview.reloadData()添加到我的displaydataforindexath()方法中。然而,所有以前的细胞都保留

我在方法中有我的所有视图样式

override func viewWillAppear(_ animated: Bool) {
    displayDataForIndexPath()
}
当我需要在我的
ViewController
中重新加载数据时,会调用该函数。我的
ViewController
有一个我需要刷新的
CollectionView


我已将
collectionview.reloadData()
添加到我的
displaydataforindexath()
方法中。然而,所有以前的细胞都保留下来,而不是消失,因此新细胞堆叠在旧细胞之上。删除这些旧单元格的正确方法是什么,这样才能正确重新加载
集合视图?

您不需要删除数据源

在cellForItemAtIndexPath中,不应向单元格添加更多控件。在创建单元格时,只能执行一次

正如您正常获取单元格时的名称所述:
重用
,这意味着它重用集合中显示的上一个状态