7

我在 Apple 文档、Apple 论坛或 stackOverflow 中找不到这个问题。我试图创建代码并查看各种选项的结果。

看来,如果未提供排序描述符,则对 [PHAsset fetchAssetsWithLocalIdentifiers] 的调用会按本地标识符顺序返回资产。使用为选项传递“nil”的技术,我可以复制现有 PHAsset 集合的排序顺序。

    self.assetsFetchResults = [PHAsset fetchAssetsWithLocalIdentifiers:self.selectionList options:nil];

在开发人员文档中,我找不到用于 PHAsset 的排序描述符的选项,该选项将覆盖此默认操作以满足我的需要。我正在将 assetsFetchResults 加载到一个 transientAssetCollection 中,它限制了资产的添加和删除(根据 Apple 文档)。

    self.assetCollection = [PHAssetCollection transientAssetCollectionWithAssetFetchResult:self.assetsFetchResults title:self.albumName];

fetchAssetsWithLocalIdentifiers 有没有办法按照调用时提供的数组中的本地标识符的顺序返回资产?如果调用将按照数组所在的顺序返回资产,那么应用程序可以控制结果......

我在文档中遗漏了什么吗?

谢谢你,托尼

更新:我已经尝试为 fetchAssetsWithLocalIdentifiers 编码排序选择器来覆盖获取结果的排序。但是,即使 Apple 文档表明“localIdentifier”是 PHAssets 的有效键,程序也会因排序键无效而失败。

4

0 回答 0