gpt4 book ai didi

ios swift : Remove duplicates in an array of images

转载 作者:行者123 更新时间:2023-11-30 12:47:35 25 4
gpt4 key购买 nike

我有一组图像。用户可以将其他图像添加到该阵列中,从照片库中挑选。因此,当他们添加时,我想检查该图像是否已经存在,如果存在,我需要跳过添加。

我在下面尝试过,但不适用于图像数组

extension Array where Element : Equatable
{
mutating func GetDifAryFnc()
{
var DifAryVar:[Element] = []
for IdxVal in self
{
if !DifAryVar.contains( IdxVal )
{
DifAryVar.append( IdxVal )
}
}
self = DifAryVar
}
}

并尝试过这个

class func GetDifImjAryFnc(ImjAryPsgVar: [UIImage]) -> [UIImage]
{
var DifAryVar = [UIImage]()
for IdxVal in ImjAryPsgVar
{
if !DifAryVar.contains( IdxVal )
{
DifAryVar.append( IdxVal )
}
}

return DifAryVar
}

最佳答案

“图像已经存在”是什么意思?这些从磁盘加载的图像是“按原样”吗?如果您使用数组 contains 方法,则图像必须逐字节相同才能匹配。即使 1 个像素不同,或者它们在不同时间进行 JPEG 压缩,它们也可能不匹配。

(Array contains方法依赖于符合equatable协议(protocol)的对象,我相信它会检查图像数据。)

编辑:

实际上,Apple 的这篇文章暗示 UIImage 对象的可等比较可能无法正常工作:

https://developer.apple.com/reference/uikit/uiimage (参见标题为“比较图像”的部分)

关于ios swift : Remove duplicates in an array of images,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41432498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com