我有一个collectionView
从网络中提取数据,然后用户删除一个对象,我想显示剩余的对象。由于过去的噩梦是在索引处删除对象并且我的本地数据与网络版本同步,我只是打了一个新的调用来获取新的网络数据(少了删除的对象),因为它没那么多。话虽这么说,在现有collectionView
中显示新数据的最佳方法是什么?我有点想抛弃collectionView
(使用旧数据)并添加一个新的但是没有这样的方法可以做那样的事情吗?或者只刷新整个collectionViewController
?试图找出这里的首选方法,而不是黑客=)
func getPinsCheckLinksAndStartLoadAnimation() {
PinterestRequest().getPinterstPins(board: board) { (result) in
LinkCheck().checkLinks(pins: result, handler: { (testPinsWithBrokenLinks, error) in
self.pinsWithBrokenLinks = testPinsWithBrokenLinks
})
self.startAnimating(self.view.frame.size, message: "Checking Pins...", messageFont: UIFont.boldSystemFont(ofSize: 16), type: .ballScaleMultiple, color: UIColor.red, padding: CGFloat(0), displayTimeThreshold: nil, minimumDisplayTime: nil, backgroundColor: UIColor.clear, textColor: UIColor.black) //see https://github.com/ninjaprox/NVActivityIndicatorView#defaults
}
}
答案 0 :(得分:1)
我认为如果您不想保持本地版本同步并删除索引处的单元格,那么最好的办法是进行collectionView.reloadData()。
最好的方式和方式,就是Realm。这是我与Firebase或我自己的服务器保持同步的本地数据库。只需在本地删除对象,即可删除索引处的单元格,然后可以通过api调用删除服务器上的对象。
但除此之外,您只需重新加载整个collectionView。