ios - Swift 从特定相册中选择所有照片

标签 ios swift

该应用程序可以在标准 iOS 照片应用程序中创建自定义相册,但我一直无法找到一种方法让该应用程序收集该相册中的所有图像以在应用程序中显示。

目前,该应用程序可以从所有相册中收集图像,只是没有一个是特定的。

let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(
                 .Album,
        subtype: .AlbumRegular,
        options: nil)

    resultCollections.enumerateObjectsUsingBlock({
        (object, index, stop) -> Void in

        let collection = object as! PHAssetCollection
        let result = PHAsset.fetchAssetsInAssetCollection(collection, options: nil)

        result.enumerateObjectsUsingBlock({
            (object, index, stop) -> Void in

            let asset = object as! PHAsset
            self.images.append(asset)

        })

    })

我看到了其他可能被标记为重复的问题,但其中大多数都在谈论打开 UIPickerView 到自定义相册。这可能是 How to fetch all images from custom Photo Album - swift 的重复项然而,它从未得到答复。

那么,iOS 应用如何收集特定相册中的所有图像?

最佳答案

像下面这样添加 fetchOptions

let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "title = %@", YourAlbumTitle)
let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .AlbumRegular, options: fetchOptions)

其实专辑名不是唯一值,可以重复。因此,如果您的应用访问多个相册,我建议使用如下所示的 localIdentifier。

let fetchOptions = PHFetchOptions()
fetchOptions.predicate = NSPredicate(format: "localIdentifier = %@", YourAlbumLocalIdentifier)
let resultCollections = PHAssetCollection.fetchAssetCollectionsWithType(.Album, subtype: .AlbumRegular, options: fetchOptions)

关于ios - Swift 从特定相册中选择所有照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32752437/

相关文章:

ios cellForRowAtIndexPath 不会被调用,但是 numberOfRowsInSection 会被调用并返回一个数字

ios - 单击图像时如何在屏幕上随机移动 UIimageView

ios - 未在 subview 上调用 touchesBegan()

swift - 使用 Swift Network Framework,如何使 IPv4Address 和 IPv6Address 符合 Codable?

ios - CLLocationManager 不监控区域

ios - 如何在 iOS 应用程序(Swift)中单击选项卡栏项目时重定向到 rootviewcontroller

ios - 对于音频,我应该用什么替换 SetDelegate?

swift - 在 Swift 中过滤具有多个条件和类型的对象数组

ios - 如何用 Swift 求两个三角形(3 个点)之间的仿射变换

ScrollView 不居中的快速缩放