2

我正在通过新的 iOS 8 照片框架保存大量照片,尤其是使用该-[PHPhotoLibrary performChanges:completionHandler]方法。

大量图像需要一些时间,所以我需要以某种方式通知用户此操作的进展,但文档中没有这样的东西。

有人已经找到办法了吗?

4

1 回答 1

0

PHPhotoLibrary以在启动后在后台执行所有更改的方式构建,因此您无法跟踪进度。使用PHPhotoLibraryChangeObserver协议在保存更改时获得通知。如果您关心具体资产,请检查它的持久标识符。

NSString *expectedId = ...
PHFetchResult *fetchResult = ...

- (void)photoLibraryDidChange:(PHChange *)changeInstance {
    PHFetchResultChangeDetails *changeDetails = [changeInstance changeDetailsForFetchResult:fetchResult];

    for (PHAsset *asset in [changeDetails.insertedObjects arrayByAddingObjectsFromArray:changeDetails.changedObjects]) {
        if ([asset.localIdentifier isEqualToString:expectedId]) {
            // saving has ended
        }
    }
}
于 2015-03-05T14:09:11.013 回答