首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IOS照片库获取给定照片的相册名称

IOS照片库获取给定照片的相册名称
EN

Stack Overflow用户
提问于 2016-08-03 07:48:41
回答 1查看 998关注 0票数 0

我到处都找过了,但没能找到答案。

在IOS PhotosFramework中,我如何获取图像/PHAsset,并找出它分配给哪些集合/相册?

我已经知道如何从那里得到所有相册的列表,我也可以在每一张相册中得到所有的图像。但是我如何做相反的方法--例如,对于给定的PHAsset,如何获取分配给它的专辑/集合的名称。

下面是我必须在相机卷中获得所有相册列表的代码:

代码语言:javascript
复制
-(void) listAllAlbums{

    PHFetchOptions *userAlbumsOptions = [PHFetchOptions new];
    userAlbumsOptions.predicate = [NSPredicate predicateWithFormat:@"estimatedAssetCount > 0"];

    PHFetchResult *userAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeAlbum subtype:PHAssetCollectionSubtypeAny options:userAlbumsOptions];

    NSLog(@"---------  entered %s  ------------- ", __PRETTY_FUNCTION__);

    [userAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *collection, NSUInteger idx, BOOL *stop) {
        NSLog(@"album title %@", collection.localizedTitle);
    }];

    NSLog(@"---------  end of %s  ------------- ", __PRETTY_FUNCTION__);

}

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-10 15:02:50

套用旧苹果广告..。这有一个API。

如果您有一个PHAsset,您可以使用fetchAssetCollectionsContainingAsset:withType:options:获得包含它的一组专辑。如果您只想要用户创建的相册,请为PHAssetCollectionTypeAlbum参数传递type;如果您还想要智能相册(比如相机卷,或者其他自动收集的相册,如全景图或截图),那么再次调用它并传递PHAssetCollectionTypeSmartAlbum

调用它之后,您可以枚举结果并读取每个结果的localizedTitle。(顺便说一句,PHFetchResult支持NSFastEnumeration,所以您不必使用enumerateObjectsUsingBlock,除非您出于某种原因想要使用.您可以只使用for-in循环。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38737492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档