我正在创建应用程序以将图像从网络保存到照片库。现在我想在每次将图像保存到PhotoLibrary之前检查图像是否已经存在?
我获取存储在照片库中的图像的名称,但该名称与原始名称不同,因此我不知道如何将当前图像与现有图像进行比较! 请帮帮我!
ALAssetsLibrary *Library=[[ALAssetsLibrary alloc]init];
NSMutableArray *arr_ImagesUrl=[[NSMutableArray alloc]init];
[Library enumerateGroupsWithTypes:ALAssetsGroupSavedPhotos usingBlock:^(ALAssetsGroup *Group,BOOL *stop){
[Group enumerateAssetsUsingBlock:^(ALAsset *asset,NSUInteger index,BOOL *stop)
{
NSLog(@"%@",[[asset defaultRepresentation]filename]);
}];
} failureBlock:^(NSError *error){NSLog(@"%@",error.description);}];
答案 0 :(得分:0)
据我所知,基本上在IOS文档中没有这样的API。
您可以执行的操作(与您最初想要的不完全相同)是,在您的应用程序中,为用户在整个应用程序生命周期中选择的每个图像添加单独的值(*)。根据这一系列信息,您可以判断新选择是否与前一个选择相同。但是,你仍然不能为完整的PhotoLibrary做到这一点。
(*)这是关于SO的有用线程,其涉及检测图像相似性和/或创建描述图像并且可用于稍后比较图像的值(散列)。 我最喜欢的是phash。
https://softwareengineering.stackexchange.com/questions/92830/how-to-know-if-two-images-are-the-same