如何知道PHAssetCollection是否是最近删除的集合?

时间:2015-02-02 01:13:35

标签: cocoa cocoa-touch photokit

最近添加的集合有一个子类型:PHAssetCollectionSubtypeSmartAlbumRecentlyAdded。但是没有 assetCollectionSubtype可识别"最近删除的"集合。

这是"最近删除的"在我的情况下收集: (iOS 8.1.3): DF876BFD-...-C97F4628467C/L0/040 Recently Deleted assetCollectionType=2/1000000201

这表明它的类型为PHAssetCollectionTypeSmartAlbum。但是什么是子类型1000000201

根据文档,

201应为PHAssetCollectionSubtypeSmartAlbumPanoramas

可以信任幻数1000000201永不改变吗?可能不是。

但是,这是您可以检索最近删除的集合的方法:

PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum subtype:1000000201 options:nil];

此特定智能相册存在重大差异:PHAsset s无法再次删除,因为这是垃圾。因此,了解是否应向用户显示删除选项至关重要。

有没有人有想法?

1 个答案:

答案 0 :(得分:0)

关于选择"最近删除"收集,这是一个解决方法。

PHFetchResult *smartAlbums = [PHAssetCollection fetchAssetCollectionsWithType:PHAssetCollectionTypeSmartAlbum
                                                                      subtype:PHAssetCollectionSubtypeAlbumRegular
                                                                      options:nil];

__block PHAssetCollection *recentlyDeletedCollection;
[smartAlbums enumerateObjectsUsingBlock:^(PHAssetCollection *smartAlbum, NSUInteger idx, BOOL *stop) {
    if ([smartAlbum.localizedTitle isEqualToString:@"Recently Deleted"]) {
        NSLog(@"Recently Deleted album is at %ld", idx);
        recentlyDeletedCollection = smartAlbums[idx];
    }
}];