有一个collectionView,它可能会根据数据加载大量单元格。目前,我的体系结构是viewDidLoad (先从datasource获取25 ),然后在willDisplayCell中使用(在25组中获取数据源的其余部分,直到达到速率限制)。问题是,它似乎一次就把所有的数据都删除了。我不想为单元格提取更多的数据,除非用户正在滚动(即,除非需要显示这些单元格)。我该怎么做?
我知道我需要与cell和indexPath在willDisplayCell中工作,但我不能把它整合在一起吗?
override func viewDidLoad() {
super.viewDidLoad()
getFirstPinsAndImages()
}
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
if maxExceeded == false {
getRestOfPinsAndImages()
}
}发布于 2016-05-11 15:59:19
我需要做的是将数据调用限制在只有当indexPath.row of willDisplayCell (即即将显示的行)大于节中的项目数(单元格加载)减去一些任意数字(以便为加载时间提供缓冲区)时:
override func collectionView(collectionView: UICollectionView, willDisplayCell cell: UICollectionViewCell, forItemAtIndexPath indexPath: NSIndexPath) {
if indexPath.row > (self.collectionView(collectionView, numberOfItemsInSection: 0) - 10) {
if maxExceeded == false {
getRestOfPinsAndImages()
}
}
}https://stackoverflow.com/questions/37166423
复制相似问题