Ios 检查设置的图像是否与缓存中的图像相同

Ios 检查设置的图像是否与缓存中的图像相同,ios,swift,uitableview,uiimageview,sdwebimage,Ios,Swift,Uitableview,Uiimageview,Sdwebimage,我正在寻找一种便宜的方法来确定UITableViewCell中设置的图像是否与我试图从缓存中设置的图像相同 因为我有可重复使用的单元格,所以我需要能够在重复使用单元格时更改图像 问题是,第一个单元格的图像设置了两次,这会引起我想要避免的闪烁 我必须检查imageView.image和从缓存检索的图像之间是否相等,但它不工作 有什么线索吗?似乎您正试图找到解决闪烁问题的方法,或许可以尝试调试为什么会发生这种情况 理想情况下,您应该使用prepareforeuse,并在每次重新使用单元格时清除图像。

我正在寻找一种便宜的方法来确定UITableViewCell中设置的图像是否与我试图从缓存中设置的图像相同

因为我有可重复使用的单元格,所以我需要能够在重复使用单元格时更改图像

问题是,第一个单元格的图像设置了两次,这会引起我想要避免的闪烁

我必须检查imageView.image和从缓存检索的图像之间是否相等,但它不工作


有什么线索吗?

似乎您正试图找到解决闪烁问题的方法,或许可以尝试调试为什么会发生这种情况

理想情况下,您应该使用prepareforeuse,并在每次重新使用单元格时清除图像。此外,如果图像被缓存,则应仅设置一次,而不应在一段时间后立即设置,就像在第一个实例中,缓存中出现未命中,您必须执行网络调用


如果您确实必须检查图像是否相同,您可以比较有问题图像的URL,URL和字符串都是相等的,可用于唯一标识图像。

您想做什么?如果图像与您使用的模型类相同,请防止它们重新加载?我使用RealMswifts,这与设置isSet布尔值相同。不可能检查已设置的图像的url,因为我在主属性上有一个DidSet,用于正确设置所有内容。使用prepareForReuse和/或清除图像不起作用,这是我尝试的第一件事。这是因为每次调用ViewWillExact时,ios都会在indexPath调用cellForRow。我不知道如何调试isSet布尔值似乎不是完全相同的东西,布尔值只会告诉是否设置了图像,而不会告诉哪个图像。如果URL是viewModel对象的一部分,则可以将其与以前用于设置单元格的viewModel进行比较,从而避免使用相同的图像再次设置。此外,我刚刚尝试了一个示例主控详图项目,在弹出详图视图控制器时,将调用ViewWillAppeal作为主控视图控制器,但这不会触发对cellForRowAt indexPath的调用,因此代码中的其他内容一定会触发它。通过比较id,尝试使用模型中的数据,id相同,数据不会重置,但单元格正在重新加载,这有点像meh。看来凶手在别处,我得进一步调查。谢谢你的时间