我正在编写一个应用程序,用户可以在其中选择多个图像并要求将它们保存到库中。我使用 ALAssetLibrary 创建图库中所有图像的列表供用户选择。当用户要求保存时,我一次保存一张图片以使用[library writeImageToSavedPhotosAlbum:metadata:completionBlock:]
. 所以我首先保存一个图像,然后在完成块中,保存另一个图像,依此类推。
我希望 ALAssetsLibraryChangedNotification 被调用的次数与要保存的图像数量一样多。但它被调用了两倍的次数。任何线索为什么会发生这种情况?我已经检查过我实际上只为每个选定的图像编写了一次图像。在我保存每张图像后立即出现通知。一旦我收到每个保存的图像的所有通知,我就会重新加载库并再次加载资产。每次我完成重新加载资产时,通知都会再次出现。
有没有办法让我知道是否有更多这样的通知出现,以便我可以选择仅在最后一个通知之后执行实际处理?