当 reloadData 时 UICollectionView 滚动性能降低

阿尔希玛·阿德尔

我有一个UICollectionView,当我向其中添加固定数据时,它会按原样运行,但是如果我再次重新加载它(从服务中获取数据),滚动会变慢或可能会停止滚动。

这是代码:

@IBOutlet var myCollectionView: UICollectionView!

func getAllCategories() {
        API.categories { (error: Error?, success: Bool,  categories: [Category]) in
            if success {
                self.categories = categories
                print("success")
                self.myCollectionView.reloadData()
            } else {
                print("failed")
            }
        }
    }

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        if(self.categories.count > 0) {
            return (self.categories.count - 1)
        } else {
            return 0
        }
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "HomeCollectionViewCell", for: indexPath) as! HomeCollectionViewCell

        cell.containerCollectionView.layer.cornerRadius = 20
        cell.containerCollectionView.layer.borderWidth = 2
        cell.containerCollectionView.layer.borderColor = UIColor(red:219/255.0, green:219/255.0, blue:219/255.0, alpha: 0.5).cgColor;
        cell.containerCollectionView.layer.masksToBounds = true
        if(self.categories.count > 0) {
            cell.category_name.text = self.categories[indexPath.row + 1].name
            cell.adds_number.text = String(self.categories[indexPath.row + 1].ads_count) + " إعلان"
            cell.fav_number.text = String(self.categories[indexPath.row + 1].fav_count) + " مفضلة"
            ////// to load URLs images //////
                let imageUrl = "http://xxxxxxxx.com/images/categories/" + self.categories[indexPath.row + 1].image
                let url = URL(string: imageUrl)
                let image = NSData(contentsOf: url!)
                if(image != nil){
                    cell.categoryImageView.image = UIImage(data: image! as Data)
                }
        }
        return cell
    }

我的情况有什么解决方案吗?

摩亚德·阿尔库兹

以下代码的问题:

////// to load URLs images //////
            let imageUrl = "http://souqsahm.com/images/categories/" + self.categories[indexPath.row + 1].image
            let url = URL(string: imageUrl)
            let image = NSData(contentsOf: url!)
            if(image != nil){
                cell.categoryImageView.image = UIImage(data: image! as Data)
            }

尝试在后台线程中下载图像,或者您可以使用此 api https://github.com/rs/SDWebImage

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取Excel时性能降低

来自分类Dev

UICollectionView不会reloadData

来自分类Dev

UICollectionView 滚动时卡住

来自分类Dev

在SQL Server中执行ORDER BY时性能降低

来自分类Dev

TensorFlow:在输入端获取渐变时性能降低

来自分类Dev

在TensorFlow中解压张量层的位时性能降低

来自分类Dev

更新MYSQL表时While循环内的性能降低

来自分类Dev

mysql查询,选择或更新时性能降低

来自分类Dev

滚动时丢失UICollectionView选择

来自分类Dev

当reloadData时CollectionView闪烁

来自分类Dev

UICollectionView reloadData更改单元格顺序

来自分类Dev

UICollectionView reloadData似乎缓慢/缓慢(不是瞬时的)

来自分类Dev

使用分区键和远程行键时,Azure表的查询性能降低

来自分类Dev

创建文件时SQL Server 2012 FileTable的性能降低(集成Lucene.NET)

来自分类Dev

Nvidia驱动程序未在Xubuntu 17.04上加载,使用1050卡时性能降低

来自分类Dev

在C ++中用变量除以const进行除以时性能降低

来自分类Dev

创建文件时SQL Server 2012 FileTable的性能降低(集成Lucene.NET)

来自分类Dev

从USB设备复制文件或从USB设备复制文件时性能降低

来自分类Dev

使用Microsoft.office.Interop.Excel读取Excel时性能降低

来自分类Dev

加入AD并使用AD帐户时Windows 10的运行性能降低

来自分类Dev

Nvidia驱动程序未在Xubuntu 17.04上加载,使用1050卡时性能降低

来自分类Dev

在MySQL中运行重复的复杂空间查询时性能降低

来自分类Dev

UICollectionView滚动性能差

来自分类Dev

UILongpress手势时UICollectionView滚动

来自分类Dev

防止在顶部插入项目时UICollectionView滚动

来自分类Dev

UICollectionVIew:在滚动时使单元动画化

来自分类Dev

仅当不存在记录时,才通过存储过程从TVP列表中插入项目-性能降低

来自分类Dev

用户滚动时仅从willDisplayCell设置单元格动画,而不是reloadData之后

来自分类Dev

用户滚动时仅对willDisplayCell进行动画处理,而不对reloadData进行动画处理

Related 相关文章

  1. 1

    读取Excel时性能降低

  2. 2

    UICollectionView不会reloadData

  3. 3

    UICollectionView 滚动时卡住

  4. 4

    在SQL Server中执行ORDER BY时性能降低

  5. 5

    TensorFlow:在输入端获取渐变时性能降低

  6. 6

    在TensorFlow中解压张量层的位时性能降低

  7. 7

    更新MYSQL表时While循环内的性能降低

  8. 8

    mysql查询,选择或更新时性能降低

  9. 9

    滚动时丢失UICollectionView选择

  10. 10

    当reloadData时CollectionView闪烁

  11. 11

    UICollectionView reloadData更改单元格顺序

  12. 12

    UICollectionView reloadData似乎缓慢/缓慢(不是瞬时的)

  13. 13

    使用分区键和远程行键时,Azure表的查询性能降低

  14. 14

    创建文件时SQL Server 2012 FileTable的性能降低(集成Lucene.NET)

  15. 15

    Nvidia驱动程序未在Xubuntu 17.04上加载,使用1050卡时性能降低

  16. 16

    在C ++中用变量除以const进行除以时性能降低

  17. 17

    创建文件时SQL Server 2012 FileTable的性能降低(集成Lucene.NET)

  18. 18

    从USB设备复制文件或从USB设备复制文件时性能降低

  19. 19

    使用Microsoft.office.Interop.Excel读取Excel时性能降低

  20. 20

    加入AD并使用AD帐户时Windows 10的运行性能降低

  21. 21

    Nvidia驱动程序未在Xubuntu 17.04上加载,使用1050卡时性能降低

  22. 22

    在MySQL中运行重复的复杂空间查询时性能降低

  23. 23

    UICollectionView滚动性能差

  24. 24

    UILongpress手势时UICollectionView滚动

  25. 25

    防止在顶部插入项目时UICollectionView滚动

  26. 26

    UICollectionVIew:在滚动时使单元动画化

  27. 27

    仅当不存在记录时,才通过存储过程从TVP列表中插入项目-性能降低

  28. 28

    用户滚动时仅从willDisplayCell设置单元格动画,而不是reloadData之后

  29. 29

    用户滚动时仅对willDisplayCell进行动画处理,而不对reloadData进行动画处理

热门标签

归档