我有一个collectionView,它可以从网络中提取数据,然后用户删除一个对象,而我想显示其余的对象。由于过去的噩梦是删除索引处的对象,并且使我的本地数据与网络版本保持同步,因此我可以进行一次新的调用来获取新的网络数据(减去删除的对象),因为这样的话还可以。话虽如此,以仍然存在的collectionView显示新数据的最佳方法是什么?我有点想扔掉collectionView(带有旧数据)并添加一个新的collectionViewController,但是没有这样的方法可以执行类似的操作吗?或者只是刷新整个ojit_code?试图找出这里的首选方法,而不是破解=)

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
        }

    }

最佳答案

我想,如果您不想保持本地版本同步并删除索引中的单元格,那么最好的选择是做collectionView.reloadData()。

最好的方法和我做的方法是使用Realm。这是我与Firebase或我自己的服务器保持同步的本地数据库。它只是通过在本地删除对象来删除索引处的单元格,然后您可以使用api调用在服务器上删除对象。

但是除此之外,您只需要重新加载整个collectionView。

10-07 19:49
查看更多