UICollectionView不更新

时间:2018-12-11 09:23:56

标签: swift uicollectionview uicollectionviewcell

我想在清单页面之一中实现视差效果。所以我使用collectionview及其工作正常,除了。但是问题是我从服务器获取数据并重新加载collectionview之后,它无法正常工作。我也有来自服务器的对象数组。调试时,我在

中发现了问题
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
         print("array count:\ (array_AlbumTracks.count)") // it returns 12 from api server .working fine
        return array_AlbumTracks.count // here if i set return 12...its working fine, but array_AlbumTracks.count not updating the cellForItemAt delegate method
    }

我不知道为什么

collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell

不被调用。有人帮我

最后我找到了解决方案,在重新加载数组的同时我还更新了UIColectionViewFlowLayout,请检查以下代码;

func apiActionForGetMyList { // inside this function fetch array data from server and while reloading the collectionview 
  DispatchQueque.main.async{
     self.collectionView_Album.reloadData()
     self.collectionView_Album.collectionViewLayout.invalidateLayout() 
  }

}

1 个答案:

答案 0 :(得分:2)

最后我找到了解决方案,在重新加载数组的同时我还更新了UIColectionViewFlowLayout,请检查以下代码;

func apiActionForGetMyList { 
     DispatchQueque.main.async{
        self.collectionView_Album.reloadData()
        self.collectionView_Album.collectionViewLayout.invalidateLayout() 
     }
}