Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:在UITable视图中加载图像_Ios_Swift_Image_Caching_Tableview - Fatal编程技术网

Ios Swift:在UITable视图中加载图像

Ios Swift:在UITable视图中加载图像,ios,swift,image,caching,tableview,Ios,Swift,Image,Caching,Tableview,我有一个包含图片(用户化身)的自定义单元格的tableview。 我已经为cellForRowAt函数实现了一个简单的解决方案 if let imgData = try? Data(contentsOf: imageUrl!), let img = UIImage(data: imgData) { cell.profilePictureView.image = img } 但是,它非

我有一个包含图片(用户化身)的自定义单元格的tableview。 我已经为cellForRowAt函数实现了一个简单的解决方案

            if let imgData = try? Data(contentsOf: imageUrl!), let img = UIImage(data: imgData) {                
                cell.profilePictureView.image = img
            }
但是,它非常滞后,我有几个问题:

->设置图像的好方法是什么?就像下面一样,还是我应该按顺序加载它们

->API服务的最佳方法是什么:可以单独获取所有图像(通过为每行请求API/images/userid),还是最好将所有图像直接包含在服务器响应中(例如,20名玩家的列表包含图片属性)


->缓存图片有意义吗?或者这种情况是自动发生的?实现这一点的好方法是什么?

您应该在后台线程上完成所有“获取图像”的工作,并且只返回主线程更新UI。您可以使用“sdwebimage”。这个豆荚下载图像并为您兑现(您不必担心)

异步执行这将使您的表视图也能快速滚动。最好在服务器响应中包含图像。